首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在ActionBar溢出菜单中显示图标

如何在ActionBar溢出菜单中显示图标
EN

Stack Overflow用户
提问于 2013-08-22 15:27:38
回答 16查看 66.4K关注 0票数 75

我知道使用原生API是不可能的。有没有实现这种视图的变通方法?

EN

回答 16

Stack Overflow用户

发布于 2014-03-10 06:15:07

一般来说,之前发布的答案是可以的。但它基本上删除了溢出菜单的默认行为。比如有多少个图标可以显示在不同的屏幕尺寸上,然后当它们不能显示时,它们会跳到溢出菜单中。通过执行上述操作,您删除了许多重要的功能。

一种更好的方法是告诉overflow菜单直接显示图标。您可以通过将以下代码添加到您的活动中来完成此操作。

代码语言:javascript
复制
@Override
public boolean onMenuOpened(int featureId, Menu menu)
{
    if(featureId == Window.FEATURE_ACTION_BAR && menu != null){
        if(menu.getClass().getSimpleName().equals("MenuBuilder")){
            try{
                Method m = menu.getClass().getDeclaredMethod(
                    "setOptionalIconsVisible", Boolean.TYPE);
                m.setAccessible(true);
                m.invoke(menu, true);
            }
            catch(NoSuchMethodException e){
                Log.e(TAG, "onMenuOpened", e);
            }
            catch(Exception e){
                throw new RuntimeException(e);
            }
        }
    }
    return super.onMenuOpened(featureId, menu);
}
票数 86
EN

Stack Overflow用户

发布于 2013-12-02 06:37:11

在您的菜单xml中,使用以下语法嵌套菜单,您将开始获得带有图标的菜单

代码语言:javascript
复制
<item
    android:id="@+id/empty"
    android:icon="@drawable/ic_action_overflow"
    android:orderInCategory="101"
    android:showAsAction="always">
    <menu>
        <item
            android:id="@+id/action_show_ir_list"
            android:icon="@drawable/ic_menu_friendslist"
            android:showAsAction="always|withText"
            android:title="List"/>
    </menu>
</item>

票数 61
EN

Stack Overflow用户

发布于 2017-02-15 23:32:46

根据前面的答案尝试了一下,它工作得很好,至少在较新版本的支持库(25.1)中是这样的:

代码语言:javascript
复制
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);

    if(menu instanceof MenuBuilder){
        MenuBuilder m = (MenuBuilder) menu;
        //noinspection RestrictedApi
        m.setOptionalIconsVisible(true);
    }

    return true;
}
票数 58
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18374183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档