我尝试使用ActionBarSherlock实现底部菜单。在Android 2.1中,显示菜单,但在Android 4中,不显示菜单。怎么了?
下面是代码:
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;
}
}
答案 0 :(得分:1)
您可以考虑使用内部使用ActionBarSherlock的HoloEverywhere(也有演示源代码)。 对于初学者,您可以翻译(右键单击 - &gt;翻译Chrome)并使用this教程。 可以找到单个样本here。
答案 1 :(得分:0)
让您的活动延长SherlockActivity
。正如Jake Wharton建议的那样,使用清单为您的活动设置theme
和uiOptions
属性。