2015-04-25 71 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); 
} 

現在圖標可見