私はいくつかのメニュー項目を持つナビゲーションドロワーを持っています。メニュー項目の1つのメニューアイコンとテキストの色を動的に変更しようとしています。コードに続いて、ナビゲーション引き出しを持って活動クラスのいずれかのonCreate()
である:私はメニューのタイトル名とフォントの色を設定できますがアイコンをメニュー項目に設定する
public void changeItemWiseTextProperties(Menu menu) {
menu.findItem(R.id.nav_testing).
setTitle(Html.fromHtml("<font color='#3b9ada'>Testing</font>"));
menu.findItem(R.id.nav_testing).
setIcon(ContextCompat.getDrawable(this,R.drawable.icon_testing_activated));
}
:
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
changeItemWiseTextProperties(navigationView.getMenu());
そしてここでは、メソッドの定義です項目は正常に終了しましたが、メニューアイコンには何の影響もありません。私はそれを変更することはできません。それはなぜそうですか?
利用invalidateOptionsMenu();メニューをリフレッシュするために –
@ JhamanDas、それを試みました。それはうまくいかなかった。 'changeItemWiseTextProperties()'メソッドでメニューアイコンを設定した後に配置しました –