2015-04-25 70 views
0

使用工具栏
我的代码,我已经尝试使用How To show icons in Overflow menu in ActionBar
但不起作用在Android的菜单图标不显示了使用工具栏

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); 
+0

http://android-developers.blogspot.in/2012/01/say-goodbye-to -menu-button.html?m = 1 – Iqbal

+0

Tq Iqbal,我使用工具栏,而不是操作栏 –

回答

0

How To show icons in Overflow menu in ActionBar

I移动部件 “setOptionalIconsVisible” 从onMenuOpened到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); 
} 

现在图标可见