在最高的Android ActionbarSherlock显示菜单按钮(Android Action

2019-09-23 17:11发布

我想在我的应用程序中实现ActionBarSherlock,我需要证明我的应用程序的顶部菜单,集成在操作栏。 问题是,它不能正常工作。 我使用的是这样的:

public boolean onCreateOptionsMenu(Menu menu) {
    menu.add("Refresh")
        .setIcon(R.drawable.ic_action_refresh)
        .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);

    menu.add("Settings")
        .setIcon(R.drawable.ic_action_settings)
        .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    return true;
}

所以我想实现的东西是我的操作栏右侧的刷新图标和菜单图标显示,点击时应该打开默认的菜单。 我检查ForcedOverflowItem在ActionbarSherlock演示的例子,但它不工作,因为我想要的。 我需要的都一样的Android 2 +和Android的4 +。

任何建议/帮助/建议,我怎么能得到这个工作?

Answer 1:

从我ActionbarSherlock文档中读取你不能强迫的菜单图标出现在Android的4 +。 当设备有一个菜单按钮的菜单图标不会出现。 我猜是谁写ActionbarSherlock的家伙知道标的物以及;-)



Answer 2:

你可以做一个XML文件,此行。 我看到这个在其他一些文章,但我不能分辩现在跟踪。

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/more"
        android:showAsAction="always"
        android:icon="@drawable/abs__ic_menu_moreoverflow_holo_dark">
        <menu>
            <item
                android:id="@+id/remove"
                android:showAsAction="withText|never"
                android:title="@string/remove">
            </item>
        </menu>
    </item>

</menu>

然后,只需夸大它像一个正常的菜单。

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


Answer 3:

请阅读dorjeduck的答案。 如果你想对所有设备使用相同的经验,你必须添加自定义菜单,子菜单了。 这里这个代码sumple:

SubMenu sub = menu.addSubMenu("More");
sub.setIcon(R.drawable.abs__ic_menu_moreoverflow_holo_dark);
sub.add(0, MENU_SETTINGS, 0, "Settings");


文章来源: Android ActionbarSherlock show menu button at top