読者です 読者をやめる 読者になる 読者になる

【Android】コンテキストメニューの文字色の変更

Android

 

長押しで表示されるコンテキストメニュー

コンテキストメニューのタイトル、項目名の文字色の変更になります。

 

f:id:stanleyblenz:20161109011533p:plain

 

 

--------------------------------------------------------------------------------------------------

コンテキストメニューの登録
ListView lv = (ListView)findViewById(R.id.listview);
registerForContextMenu(lv);

 

コンテキストメニューの作成

menu/context_menu.xml

<menu
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_height="wrap_content"
  android:layout_width="wrap_content">
  <item
    android:id="@+id/context_menu_edit"
    android:title="登録"/>
</menu>

 

コンテキストメニュー作成

@Override
public void onCreateContextMenu(ContextMenu menu,

                View v,

                ContextMenu.ContextMenuInfo menuInfo){
  super.onCreateContextMenu(menu, v, menuInfo);
  menu.setHeaderTitle(Html.fromHtml("<font color='#000000'>メニュー</font>"));
  getMenuInflater().inflate(R.menu.context_menu, menu);
  MenuItem item = menu.getItem(0);
  item.setTitle(Html.fromHtml("<font color='#000000'>登録</font>"));
}

※注意

getMenuInflater().inflate(R.menu.context_menu, menu);の前に

MenuItem item = menu.getItem(0);を実行するとエラーになります。

まだコンテキストメニューが作成される前に、getしているため。