在我的三星Galaxy中按菜单按钮时,菜单背景为深蓝色(几乎为黑色)。我认为默认情况下背景颜色是rom / version主题。对于我的应用程序,我需要一个白色(或非常轻的)背景,否则我的图标实际上是不可见的。但我没有看到任何改变菜单背景的方法。
我怎样才能达到目的?
提前致谢
答案 0 :(得分:1)
将它放在您的活动类中:
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;
}
这样可以将选项菜单的背景更改为任何颜色或图像(在本例中为白色)。