我想在我的应用程序中实现ActionBarSherlock,我需要证明我的应用程序的顶部菜单,集成在操作栏。 问题是,它不能正常工作。 我使用的是这样的:
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("Refresh")
.setIcon(R.drawable.ic_action_refresh)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add("Settings")
.setIcon(R.drawable.ic_action_settings)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
return true;
}
所以我想实现的东西是我的操作栏右侧的刷新图标和菜单图标显示,点击时应该打开默认的菜单。 我检查ForcedOverflowItem
在ActionbarSherlock演示的例子,但它不工作,因为我想要的。 我需要的都一样的Android 2 +和Android的4 +。
任何建议/帮助/建议,我怎么能得到这个工作?
从我ActionbarSherlock文档中读取你不能强迫的菜单图标出现在Android的4 +。 当设备有一个菜单按钮的菜单图标不会出现。 我猜是谁写ActionbarSherlock的家伙知道标的物以及;-)
你可以做一个XML文件,此行。 我看到这个在其他一些文章,但我不能分辩现在跟踪。
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/more"
android:showAsAction="always"
android:icon="@drawable/abs__ic_menu_moreoverflow_holo_dark">
<menu>
<item
android:id="@+id/remove"
android:showAsAction="withText|never"
android:title="@string/remove">
</item>
</menu>
</item>
</menu>
然后,只需夸大它像一个正常的菜单。
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.overlow, menu);
return true;
}
请阅读dorjeduck的答案。 如果你想对所有设备使用相同的经验,你必须添加自定义菜单,子菜单了。 这里这个代码sumple:
SubMenu sub = menu.addSubMenu("More");
sub.setIcon(R.drawable.abs__ic_menu_moreoverflow_holo_dark);
sub.add(0, MENU_SETTINGS, 0, "Settings");