为啥这个 XML 代码不为 Android 4.3 中溢出菜单的背景着色?
Posted
技术标签:
【中文标题】为啥这个 XML 代码不为 Android 4.3 中溢出菜单的背景着色?【英文标题】:Why doesn't this XML code color the background of the overflow menu in Android 4.3?为什么这个 XML 代码不为 Android 4.3 中溢出菜单的背景着色? 【发布时间】:2014-10-10 23:52:04 【问题描述】:我正在尝试为弹出菜单着色(单击溢出的三个垂直点时),但它不起作用:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:popupMenuStyle">@style/MyPopupMenu</item>
<!-- None of these work either -->
<item name="android:windowBackground">@color/white</item>
<item name="android:popupBackground">@color/white</item>
<item name="android:actionModeBackground">@color/white</item>
<item name="android:dropDownListViewStyle">@style/MyPopupMenu</item>
<item name="android:actionBarWidgetTheme">@style/MyPopupMenu</item>
</style>
<!-- Popup Menu Background Color styles -->
<!--
I also tried parent as:
android:Widget.Holo.Light.ListPopupWindow
@style/Widget.AppCompat.Light.ListPopupWindow
@android:style/Widget.Holo.ListPopupWindow
-->
<style name="MyPopupMenu"
parent="@android:style/Widget.PopupMenu">
<item name="android:popupBackground">@android:color/white</item>
</style>
</resources>
在我的 AndroidManifest.xml 中:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
为什么它仍然以默认的黑色背景显示?
【问题讨论】:
其他版本也可以用吗? @waqaslam 它也不适用于 4.4 【参考方案1】:确保您已根据版本应用样式...
值.xml 替换
<item name="android:popupMenuStyle">@style/MyPopupMenu</item>
to
<item name="popupMenuStyle">@style/MyPopupMenu</item>
values-14.xml
<item name="android:popupMenuStyle">@style/MyPopupMenu</item>
然后尝试一次...
【讨论】:
你的项目中 values 文件夹的结构是什么values
, values-land
, values-sw600dp
, values-v14
好的,那么你的 values-v14/styles.xml
中的值!谢谢你!你能改变你的答案吗(确保在两个文件夹中设置样式),我会把它标记为正确的。
嗯,它不适用于平板电脑。如果我更改所有内容的背景,则菜单背景也会更改。否则,它不会改变菜单颜色!有什么想法吗?以上是关于为啥这个 XML 代码不为 Android 4.3 中溢出菜单的背景着色?的主要内容,如果未能解决你的问题,请参考以下文章
XML drawable 在 4.3 和 4.1.2 上具有不同的行为
为啥我的Android Studio里新建的drawable的XML文件里没找不到shape这个选项.
eclipse 中打开android的xml文件为啥没有视图显示