操作栏中的溢出按钮

时间:2014-06-19 17:57:55

标签: android android-actionbar

任何人都可以解释为什么更新的设备,如。谷歌Nexus 5显示ActionBar中的溢出按钮,即使它有硬件菜单按钮,菜单选项被定义为“从不”?

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
    <item
        android:id="@+id/menuSettings"
        android:showAsAction="never"
        android:title="@string/action_settings"/>
    <item
        android:id="@+id/menuOff"
        android:showAsAction="never"
        android:title="@string/action_exit"/>
</menu>

在我忘记之前,我使用 AppCompact7 并且溢出按钮不会出现在其他设备上。三星S3 / S4具有相同的设置。

3 个答案:

答案 0 :(得分:2)

android:showAsAction="never"表示该项目不会在ActionBar上显示为图标,但仍会放在溢出菜单内(如果设备有硬件菜单按钮,则会放在普通菜单中)。

答案 1 :(得分:2)

如果您有AppCompat库的应用,则应使用app:showAsAction代替:

所以菜单看起来像是:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto" >
    <item
        android:id="@+id/menuSettings"
        app:showAsAction ="never"
        android:title="@string/action_settings"/>
    <item
        android:id="@+id/menuOff"
        app:showAsAction="never"
        android:title="@string/action_exit"/>
</menu>

这是一个在使用AppCompat时被忽略的典型问题,这应该在lint错误中列出(我不能担保Eclipse,但AndroidStudio lint会显示这个)

答案 2 :(得分:1)

Android正在发展os。在旧版本的Android中有4个硬件键(部分)菜单,搜索,主页和后退。然后谷歌决定放弃搜索键。在api级别14中,我认为菜单键被认为是不必要的,并且添加了多个选择(具有与菜单相同的键码)键。 Nexus 5没有菜单键。它在布局的顶部或底部添加了3个点,提供了与菜单键类似的功能,并且可以与旧的菜单相关的xml和java类相似的方式访问。