代码之家  ›  专栏  ›  技术社区  ›  Yass

单击android KitKat时溢出菜单的背景色(4.4)

  •  2
  • Yass  · 技术社区  · 8 年前

    当我点击一个项目时,我的工具栏和溢出菜单的样式有问题。

    我的xml样式文件如下:

     <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="colorControlHighlight">@color/cardViewColor</item>
        <item name="actionOverflowButtonStyle">@style/overflowButtonStyle</item>
        <item name="actionBarItemBackground">@drawable/background_action_item_toolbar</item>
        <item name="popupMenuStyle">@style/background_action_menu_overflow_textcolor</item>
    </style>
    
    
     <style name="background_action_menu_overflow_textcolor" parent="Widget.AppCompat.Light.PopupMenu.Overflow">
    
        <item name="android:popupBackground">@drawable/background_action_menu_overflow_textcolor</item>
    </style>
    

    我的选择器文件如下(带应答器):

    <?xml version="1.0" encoding="utf-8"?>
    
    <item android:drawable="@color/cardViewColor" android:state_pressed="true"
    android:state_focused="true"
    
    />
    <item android:drawable="@android:color/white"/>
    

    但是,当我点击溢出菜单项时,会出现文本按钮,但当我点击它时,背景颜色没有设置为“cardViewcolor”(蓝色)。 谢谢你的帮助, 亚斯。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Yass    8 年前

    我通过在溢出菜单中单击文本按钮时可以更改背景颜色找到xml属性。

    将此添加到主题:

    <item name="listChoiceBackgroundIndicator">@drawable/background_action_menu_overflow_textcolor</item>
    

    图纸定义如下:

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
       <item android:state_pressed="true"        android:drawable="@color/cardViewColor"/>
       <item android:drawable="@android:color/white"/>
    </selector >
    

    并删除主题定义中的此行:

    <item name="popupMenuStyle">@style/background_action_menu_overflow_textcolor</item>
    

    它确实有效。我希望这将有所帮助。 亚斯。