繁体   English   中英

选项菜单上的白色背景(Android)

[英]White background on optionsmenu (Android)

在我的三星Galaxy中,当我按下菜单按钮时,菜单具有非常深的蓝色(几乎是黑色)背景。 我认为背景颜色默认情况下取决于rom / version主题。 对于我的应用程序,我需要白色(或非常浅)的背景,否则我的图标几乎是不可见的。 但是我看不出菜单背景有任何改变。

我怎样才能做到这一点?

提前致谢

将其放在您的活动课中:

protected void setMenuBackground()
{
    getLayoutInflater().setFactory( new Factory()
    {
        @Override
        public View onCreateView (String name, Context context, AttributeSet attrs)
        {
            if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView"))
            {
                    try
                    {
                            LayoutInflater f = getLayoutInflater();
                            final View view = f.createView( name, null, attrs );
                            new Handler().post( new Runnable()
                            {
                                public void run()
                                {
                                    // Changes the color of the menu item here
                                    view.setBackgroundColor(Color.WHITE);
                                }
                            });
                            return view;
                    }
                    catch (InflateException e)
                    {
                    }
                    catch (ClassNotFoundException e )
                    {
                    }
            }
            return null;
        }
    });
}

然后创建onCreateOptionsMenu()侦听器:

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    super.onCreateOptionsMenu(menu);
    menu.clear();
    // Add menus here
    setMenuBackground();
    return true;
}

这样一来,您就可以将选项菜单的背景更改为任何颜色或图像(在这种情况下为白色)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM