2013-10-22 34 views
0

我從谷歌這個圖像,它適合我想顯示給你。我只想得到藍色的結果,我想通過代碼(而不是xml文件)來實現。Android onCreateMenuOptions動態

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    menu.add(Menu.NONE, Menu.NONE, Menu.NONE, "Add").setIcon(R.drawable.myicon); 
    return true; 
} 

的問題是,值「添加」出現內部的橙色圖像在箭頭,我想與一個圖像之外顯示(在左側)。

我該如何做到這一點?謝謝。

回答

3

您需要在MenuItem上調用setShowAsAction()。根據Menus guide,在操作欄中顯示的項目稱爲操作項目。您用橙色指出的菜單是動作溢出菜單。

該文檔列出了您可以通過的各種標誌。您正在尋找的標誌是SHOW_AS_ACTION_ALWAYS

如果使用SHOW_AS_ACTION_IF_ROOM,則不適合ActionBar的菜單項將自動移至溢出菜單。如果您使用SHOW_AS_ACTION_NEVER,它們將始終處於溢出菜單中。

如果您支持的API版本低於11(3.0),請確保您在API版本檢查中包裝了setShowAsAction()

+0

是的,你說得對。但是,我怎樣才能實現圖像和文字? MenuItem SaveMenu = menu.add(Menu.NONE,Menu.NONE,Menu.NONE,「Save」); SaveMenu.setIcon(R.drawable.pin_location); \t \t SaveMenu.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT);' 有了這個,我沒有得到也沒有圖像和文字。該文本默認出現在「設置菜單」中。 – user2902515

+1

該文檔聲明您需要使用'SHOW_AS_ACTION_WITH_TEXT'標誌或其他標誌。因此你的代碼應該像'SaveMenu.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);' –

+0

解決,謝謝。 – user2902515

0

那些動作條項目

1,創建圖標和可繪製文件夾複製 2.in菜單文件夾中創建XML文件,並添加此

<item 
    android:id="@+id/newrss_actionbar" 
    android:icon="@drawable/content_new" 
    android:showAsAction="always" 
    android:title="@string/abc"/> 

3.in活動文件使用它像這樣

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // TODO Auto-generated method stub 
      switch (item.getItemId()) { 
      case R.id.newrss_actionbar: 
      //do your work 
      return true; 
}