2013-04-11 2 views
0

Im пытается реализовать нижнее меню с помощью 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

Почему вы делаете все, что держите себя, вместо того, чтобы использовать «ШерлокАктивность» и флаг манифеста? –

+0

'android: uiOptions =" ​​splitActionBarWhenNarrow "' в вашем '' –

ответ

0

сделать вашу активность продлить SherlockActivity. Как предлагает Джейк Уортон, используйте манифест, чтобы установить атрибуты theme и uiOptions в вашей деятельности.

1

Возможно, вы можете использовать HoloEverywhere (также имеет демонстрационный исходный код), который внутренне использует ActionBarSherlock. И для начала вы можете перевести (щелкните правой кнопкой мыши -> Перевести на хром) и используйте учебник this. Отдельные образцы можно найти here.

Смежные вопросы