1

我正在编写一个 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没有出现菜单,因为它应该在第一张或第二张图像中。

4

2 回答 2

2

查看Android API 文档中的菜单资源,尤其是:

android:showAsAction=["ifRoom" | “从不” | "带文本" | “总是” | “折叠动作视图”]

文档中的示例 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>

然后,您需要添加到您的清单:

android:uiOptions="splitActionBarWhenNarrow"

这会将您的按钮向下移动到底部,将标题留在操作栏中,如果您有更多的东西可以容纳在屏幕中,您会得到三个小点 | 在下部操作栏的右侧。但这仅在纵向模式下才真正有效,除非您有很多菜单项...或更长的文本字符串(我认为...)

于 2012-11-30T16:20:58.980 回答
1

ActionBarSherlock 将您的菜单内容放在所有受支持平台版本的 ActionBar 中。将其添加为库项目并确保导入 Sherlock 菜单并扩展 SherlockActivity。

于 2012-11-30T16:11:08.783 回答