ActionBarSherlock,ActionBar和Native菜单,如何进行?

时间:2012-11-30 16:03:39

标签: android

我正在编写一个Android应用程序(sdk 8到15),我正在处理菜单。我读了很多东西就明白了,但我坚持一点:

显然,由于不支持sdk 10,硬件菜单按钮,现在我们必须使用操作栏。好。但在我的应用程序中,我想要这种菜单:

Bottom menu

或者这个:

Another bottom menu

...这不是硬件菜单按钮,但似乎是'本机操作栏'。我在网上找到的只有顶部的操作栏,应用程序的标题和左侧的徽标......占据了很多位置。 我迷失了所有这些sdk版本,我只想整合一个简单的菜单,如何继续?

我的代码中有这个,但是:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_fragments_slider, menu);
    return true;
}

...但是没有菜单出现在android 4中,因为它应该在第一张或第二张图片中。

2 个答案:

答案 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。