menuOptions如何改变颜色?

时间:2018-03-25 22:04:22

标签: java android

当我点击第一张图片中的项目时,我会看到第二张图片中可以看到的内容。你可以看到我得到了白色物品。有谁知道如何改变它的颜色?

https://i.stack.imgur.com/nkoNV.jpg

https://i.stack.imgur.com/JHQKO.jpg

menu.xml文件

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">    
    <item
         android:id="@+id/tools"
         android:title="123123" >

       <group
          android:checkableBehavior="all">
         <menu >
           <item
             android:id="@+id/action_sort_az"
             android:title="@string/sort_az"
             android:checked="true"
             app:showAsAction="never"
             app:actionViewClass="android.widget.CheckBox" />

             ....

           <item android:id="@+id/action_sort_id_asc"
             android:title="@string/snachala_novye"
             app:actionViewClass="android.widget.CheckBox" />

        </menu>
     </group>

     </item>
</menu>

style.xml

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

    <style name="Theme.App.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorControlNormal">#E9E2BF</item>
    <item name="colorControlActivated">#E9E2BF</item>
    <item name="colorControlHighlight">#E9E2BF</item>
    </style>

    <style name="customTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
        <item name="android:itemBackground">#424242</item>
        <item name="android:textColor">#E9E2BF</item>
        <item name="colorPrimaryDark">#1b1b1b</item>
        <item name="android:itemTextAppearance">@style/MyTextAppearance</item>
        <item name="android:windowBackground">@color/mycolor</item>
    </style>

    ...

</resources>

2 个答案:

答案 0 :(得分:0)

我看到你已经修改了菜单项的背景颜色,我也通过添加到我的Style来实现 <item name="android:itemBackground">@drawable/myColors</item>然后你遇到了SubMenu的标题,它是白色的,或者是非常精确的<color name="material_grey_50">#fffafafa</color>是由你使用Theme.AppCompat.DayNight.DarkActionBar的父主题自动应用的。

要更改子菜单标题标题的颜色,您需要使用style.xml来拥有 actionBarPopupTheme 属性,并拥有我自己编写的自定义 MyStyle 样式下面:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="android:itemBackground">@drawable/popup</item>
        <item name="actionBarPopupTheme">@style/MyStyle</item>
    </style>

    <style name="MyStyle" parent="ThemeOverlay.AppCompat.Light">
        <item name="android:colorBackground">@color/colorAccent</item>
    </style>


</resources>

Check screenshot

答案 1 :(得分:0)

使用父style.xml为您的parent="@style/Widget.AppCompat.PopupMenu"文件添加自定义样式,并为其提供popupBackground属性