2013-04-11 61 views
0

我試着用ActionBarSherlock實現底部菜單。在Android 2.1中,顯示菜單,但在Android 4中,不顯示菜單。怎麼了?底部菜單與ActionBarSherlock

enter image description here

下面的代碼:

public class Atividade extends Activity implements OnCreateOptionsMenuListener { 

    ActionBarSherlock mSherlock = ActionBarSherlock.wrap(this); 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     if (android.os.Build.VERSION.SDK_INT < 11) 
      // Remove title bar 
      this.requestWindowFeature(Window.FEATURE_NO_TITLE); 

     setTheme(R.style.Theme_Sherlock_Light_DarkActionBar); 

     mSherlock.setUiOptions(ActivityInfo.UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW);   
     mSherlock.setContentView(R.layout.atividade); 
     . 
     . 
     .    
    } 

下面的菜單選項:

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 

     menu.add("Agenda") 
      .setIcon(R.drawable.ic_compose) 
      // .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); 
      .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); 

     menu.add("Favoritos") 
     .setIcon(R.drawable.favoritos) 
     .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); 

     menu.add("Mapa") 
      .setIcon(R.drawable.maps) 
      .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); 

     com.actionbarsherlock.view.SubMenu subMenu1 = menu.addSubMenu("Compartilhar");    
     subMenu1.add("Facebook"); 
     subMenu1.add("Twitter"); 
     subMenu1.add("E-Mail"); 
     subMenu1.add("SMS"); 

     MenuItem subMenu1Item = (MenuItem) subMenu1.getItem(); 
     subMenu1Item.setIcon(R.drawable.compartilhar); 
     subMenu1Item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); 

     return true; 
    } 

} 
+3

你爲什麼要這麼做,而不是使用'SherlockActivity'和manifest標誌? – 2013-04-11 01:49:28

+0

'android:uiOptions =「splitActionBarWhenNarrow」'在你的'' – 2013-09-24 07:36:26

回答

0

讓您的活動延長SherlockActivity。正如傑克沃頓建議的那樣,使用清單來設置您的活動的themeuiOptions屬性。

1

您可能會考慮使用內部使用ActionBarSherlock的HoloEverywhere(也有演示源代碼)。 對於初學者,您可以翻譯(右鍵單擊 - >在Chrome上翻譯)並使用this教程。 可以找到單個樣本here