ActionBarSherlock菜单项显示在平板电脑上而不是电话上

时间:2013-04-29 18:08:05

标签: android android-actionbar actionbarsherlock

我正在使用ActionBarSherlock在顶部创建一个菜单(带有三个点),然后将一些项目作为子菜单。菜单显示在平板电脑上,但不显示在四英寸手机上。该应用程序可以在sdkVersion 9-17上运行。

我的menu.xml是:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/menu_weather"
        android:title="@string/weather"
        android:icon="@drawable/weather_tab"/>

    <item 
        android:id="@+id/menu_emergency"
        android:title="@string/emergency_nums" />

    <item
        android:id="@+id/menu_suggest"
        android:title="@string/friend"  />

    <item
        android:id="@+id/menu_support"
        android:title="@string/faq" />

    <item
        android:id="@+id/menu_about"
        android:title="@string/about" />

</menu>

我有一个菜单膨胀:

public boolean onCreateOptionsMenu(Menu menu) 
    {
        getSupportMenuInflater().inflate(R.menu.menu, menu);
        return true;
    }

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

在res / menu / menu.xml中,您的项目可以有android:showAsAction参数,该参数定义何时显示它们。然后,您可以设置一组参数,以帮助您在手机和平​​板电脑上更轻松地显示(或不显示)它们。如果要始终显示菜单项,只需将此参数设置为“始终”。

更多信息: http://developer.android.com/guide/topics/resources/menu-resource.html

答案 1 :(得分:0)

尝试

public boolean onCreateOptionsMenu(Menu menu) 
{
    getSupportMenuInflater().inflate(R.menu.menu, menu);
    return super.onCreateOptionsMenu(menu);
}

答案 2 :(得分:0)

我一直在寻找,这才是我最终的工作:https://stackoverflow.com/a/11438245/2291915

我希望这可以帮助别人。我没有意识到,因为我在模拟器上使用它,它真的是关于是否有硬按钮或软按钮。