Reputation: 35
My code using Toolbar
I has try using How To show icons in Overflow menu in ActionBar
but not work
android:minSdkVersion="14"
android:targetSdkVersion="22"
toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setLogo(R.drawable.ic_launcher);
setSupportActionBar(toolbar);
for(int i=0; i < NavDrawerArray.length; i++) {
switch (i) {
case 0:
icon = R.drawable.ic_action_dock;
break;
case 1:
icon = R.drawable.ic_action_time;
break;
case 2:
icon = R.drawable.ic_action_share_nav;
break;
case 3:
icon = R.drawable.ic_action_important;
break;
case 4:
icon = R.drawable.ic_action_about;
break;
case 5:
icon = R.drawable.ic_minimize;
break;
case 6:
icon = R.drawable.ic_action_cancel;
break;
default:
break;
}
menu.add(Menu.NONE, i, Menu.NONE, NavDrawerArray[i]).setIcon(icon);
}
return super.onCreateOptionsMenu(menu);
Upvotes: 0
Views: 2235
Reputation: 35
such as How To show icons in Overflow menu in ActionBar
I move parts "setOptionalIconsVisible" from onMenuOpened to onPrepareOptionsMenu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, actionmenu.getMenu());
for(int i=0; i < NavDrawerArray.length; i++) {
switch (i) {
case 0:
icon = R.drawable.ic_action_computer;
break;
case 1:
icon = R.drawable.ic_action_download;
break;
case 2:
icon = R.drawable.ic_action_share;
break;
case 3:
icon = R.drawable.ic_action_important;
break;
case 4:
icon = R.drawable.ic_action_cancel;
break;
default:
break;
}
menu.add(Menu.NONE, i, Menu.NONE, NavDrawerArray[i])
.setIcon(icon)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
}
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if(menu != null){
if(menu.getClass().getSimpleName().equals("MenuBuilder")){
try{
Method m = menu.getClass().getDeclaredMethod(
"setOptionalIconsVisible", Boolean.TYPE);
m.setAccessible(true);
m.invoke(menu, true);
}
catch(NoSuchMethodException e){}
catch(Exception e){}
}
}
return super.onPrepareOptionsMenu(menu);
}
now icon visible
Upvotes: 1