2017-08-26 21 views
0

NavigationDrawer/Viewで選択した項目を設定すると、多くのstackoverflow回答が読み込まれますが、ツールバー項目で同じ動作をすることはできません。選択したツールバーメニュー項目の背景色を変更します

どのように背景色が異なる選択アイテムを取得できますか?

OptItemSelectedをオンにしてチェックボックスをオンにしてチェックボックスを取得するように設定できますが、選択動作を使用したいと思います。

navigationViewと同様だが、ツールバーのメニュー項目上:

enter image description here

enter image description here

+0

いくつかのスクリーンショットを提供しています。あなたは何を達成したいですか? – Vyacheslav

+0

2つのスクリーンショットが追加されました – Dahnark

答えて

0

カスタムビューを作成し、メニュー項目にそれを与える:

<item android:id="@+id/activity_main_alerts_menu_item" 
android:title="Alerts" 
app:actionLayout="@layout/CUSTOMVIEW" 
<!-- important part --> app:showAsAction="ifRoom"/> 

そして、このイベントでそれにアクセスアクティビティ:

@Override 
public boolean onPrepareOptionsMenu(Menu menu) { 
final MenuItem alertMenuItem = menu.findItem(R.id.activity_main_alerts_menu_item); 
FrameLayout rootView = (FrameLayout) alertMenuItem.getActionView(); 
redCircle = (FrameLayout) rootView.findViewById(R.id.view_alert_red_circle); 
countTextView = (TextView) rootView.findViewById(R.id.view_alert_count_textview); 
return super.onPrepareOptionsMenu(menu); 
} 

詳細はthis articleをご覧ください。

+0

カスタム表示なしでは使用できません。 NavigationViewはメニューを使用し、この動作を行うことができます。 – Dahnark

+0

@Dahnarkいいえナビゲーションビューのようにするのは不可能です。あなたのオプションのために正しいnavigationDrawerを作成し、アクションmenuitemで開くことができます – lvl4fi4

関連する問題