我正在编写一个Android应用程序(sdk 8到15),我正在处理菜单。我读了很多东西就明白了,但我坚持一点:
显然,由于不支持sdk 10,硬件菜单按钮,现在我们必须使用操作栏。好。但在我的应用程序中,我想要这种菜单:
或者这个:
...这不是硬件菜单按钮,但似乎是'本机操作栏'。我在网上找到的只有顶部的操作栏,应用程序的标题和左侧的徽标......占据了很多位置。 我迷失了所有这些sdk版本,我只想整合一个简单的菜单,如何继续?
我的代码中有这个,但是:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_fragments_slider, menu);
return true;
}
...但是没有菜单出现在android 4中,因为它应该在第一张或第二张图片中。
答案 0 :(得分:2)
查看Menu Resource in the Android API Documentation,特别是:
android:showAsAction = [“ifRoom”| “从不”| “withText”| “永远”| “collapseActionView”]
文档中的示例XML也是一个很好的资源,也可以用于确切地说明如何进行布局:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/item1"
android:title="@string/item1"
android:icon="@drawable/group_item1_icon"
android:showAsAction="ifRoom|withText"/>
<group android:id="@+id/group">
<item android:id="@+id/group_item1"
android:onClick="onGroupItemClick"
android:title="@string/group_item1"
android:icon="@drawable/group_item1_icon" />
<item android:id="@+id/group_item2"
android:onClick="onGroupItemClick"
android:title="@string/group_item2"
android:icon="@drawable/group_item2_icon" />
</group>
<item android:id="@+id/submenu"
android:title="@string/submenu_title"
android:showAsAction="ifRoom|withText" >
<menu>
<item android:id="@+id/submenu_item1"
android:title="@string/submenu_item1" />
</menu>
</item> </menu>
然后你需要添加到你的Manifest:
android:uiOptions="splitActionBarWhenNarrow"
这会将你的按钮向下移动到底部,将标题保留在操作栏中,如果你有超过屏幕上可以容纳的按钮,你会获得小三点。在下方操作栏的右侧。这只适用于纵向模式,除非你有相当多的菜单项......或更长的文本字符串(我认为...)
答案 1 :(得分:1)
ActionBarSherlock将您的菜单内容放在所有支持的平台版本的ActionBar中。 将其添加为库项目,并确保导入Sherlock菜单并扩展SherlockActivity。