Android ActionbarSherlock顶部显示菜单按钮

har*_*ore 2 android actionbarsherlock android-actionbar

我正在尝试在我的应用程序中实现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;
}
Run Code Online (Sandbox Code Playgroud)

所以我想要实现的是在操作栏的右侧显示一个刷新图标和一个菜单图标,单击时应打开默认菜单.我检查ForcedOverflowItem了ActionbarSherlock演示中的示例,但它没有按我的意愿工作.我需要在Android 2. +和Android 4. +中看起来一样.

任何建议/帮助/建议如何让这个工作?

Lar*_*iro 6

你可以做一个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>
Run Code Online (Sandbox Code Playgroud)

然后像普通菜单一样充气.

public boolean onCreateOptionsMenu(Menu menu) {
        getSupportMenuInflater().inflate(R.menu.overlow, menu);
        return true;
    }
Run Code Online (Sandbox Code Playgroud)

  • 为什么下来投票?我正在使用这种方法.如果出现问题,请回复以便我可以证明或学习新内容并更改我的代码. (2认同)

dor*_*uck 5

从我在ActionbarSherlock的文档中读到的内容,您无法强制菜单图标出现在Android 4. +中.当设备有菜单按钮时,菜单图标不会出现.我想编写ActionbarSherlock的人很了解主题;-)