猿问

请问如何在Android4.2中更改ActionBar的背景色选项菜单?

如何在Android4.2中更改ActionBar的背景色选项菜单?

我想更改Android4.2中选项(溢出)菜单的背景色。我已经尝试了所有的方法,但它仍然显示默认的颜色设置的主题。我使用了以下代码&XML吐露。

MainActivity.java

public class MainActivity extends Activity {@SuppressLint("NewApi")@Overrideprotected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    getActionBar().setIcon(R.drawable.ic_launcher);     
    getActionBar().setTitle("Sample Menu");
    getActionBar().setBackgroundDrawable(new 
               ColorDrawable(Color.parseColor("#33B5E5"))); 

    int titleId = Resources.getSystem().getIdentifier("action_bar_title", "id", "android");
    TextView titleText = (TextView)findViewById(titleId);
    titleText.setTextColor(Color.parseColor("#ffffff"));}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    setMenuBackground();
    return true;}protected void setMenuBackground(){                     
    // Log.d(TAG, "Enterting setMenuBackGround");  
    getLayoutInflater().setFactory( new Factory() {

着色剂

<color name="menubg">#33B5E5</color>

在上面的图片中,我要将菜单背景从黑色更改为动作栏中的蓝色。..我怎么能做到这一点,我做错了什么?


qq_花开花谢_0
浏览 577回答 3
3回答

MMTTMM

如果人们还在访问一个可行的解决方案,下面是对我有用的内容:-这是Appcompat支持库。这是ActionBar样式的延续。在此解释下面是styes.xml文件。<resources> &nbsp;&nbsp;&nbsp;&nbsp;<!--&nbsp;Base&nbsp;application&nbsp;theme.&nbsp;--> &nbsp;&nbsp;&nbsp;&nbsp;<style&nbsp;name="AppTheme"&nbsp;parent="Theme.AppCompat.Light"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<!--&nbsp;This&nbsp;is&nbsp;the&nbsp;styling&nbsp;for&nbsp;action&nbsp;bar&nbsp;--> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<item&nbsp;name="actionBarStyle">@style/MyActionBar</item> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<!--To&nbsp;change&nbsp;the&nbsp;text&nbsp;styling&nbsp;of&nbsp;options&nbsp;menu&nbsp;items</item>--> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<item&nbsp;name="android:itemTextAppearance">@style/MyActionBar.MenuTextStyle</item> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<!--To&nbsp;change&nbsp;the&nbsp;background&nbsp;of&nbsp;options&nbsp;menu--> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<item&nbsp;name="android:itemBackground">@color/skyBlue</item> &nbsp;&nbsp;&nbsp;&nbsp;</style> &nbsp;&nbsp;&nbsp;&nbsp;<style&nbsp;name="MyActionBar"&nbsp;parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<item&nbsp;name="background">@color/red</item> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<item&nbsp;name="titleTextStyle">@style/MyActionBarTitle</item> &nbsp;&nbsp;&nbsp;&nbsp;</style> &nbsp;&nbsp;&nbsp;&nbsp;<style&nbsp;name="MyActionBarTitle"&nbsp;parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<item&nbsp;name="android:textColor">@color/white</item> &nbsp;&nbsp;&nbsp;&nbsp;</style> &nbsp;&nbsp;&nbsp;&nbsp;<style&nbsp;name="MyActionBar.MenuTextStyle" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent="style/TextAppearance.AppCompat.Widget.ActionBar.Title"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<item&nbsp;name="android:textColor">@color/red</item> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<item&nbsp;name="android:textStyle">bold</item> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<item&nbsp;name="android:textSize">25sp</item> &nbsp;&nbsp;&nbsp;&nbsp;</style></resources>这就是它的样子-Menuitem背景颜色是天蓝色,Menuitem文本颜色是粉红色,文本大小为25 sp:-
随时随地看视频慕课网APP
我要回答