Android 菜单背景黑色与 Theme.AppCompat?

标签 android xml colors android-actionbar android-actionbar-compat

出于某种原因,在我的应用程序中,当使用“Theme.AppCompat”作为我的样式时,它使我的菜单黑色文本(我设置它是因为我想要黑色文本)在深灰色背景上,如下所示:

screenshot

我曾尝试使用一些在线资源手动设置菜单的背景颜色,但似乎都不起作用。有谁知道可能导致问题的原因是什么?下面是我的 style.xml,如您所见,主应用主题条目中底部的两个元素是我尝试使用我在网上找到的东西更改背景颜色。

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat">
    <item name="windowActionBar">false</item>
    <item name="android:windowBackground">@color/white_primary</item>
    <item name="android:textColor">@color/text_primary</item>
    <item name="android:textSize">@dimen/text_size_medium</item>
    <item name="colorAccent">@color/black_primary</item>
    <item name="android:popupMenuStyle">@style/PopupMenuStyle</item>
    <item name="android:panelFullBackground">@drawable/menu_full_bg</item>
</style>

<style name="PopupMenuStyle" parent="Theme.AppCompat.Light">
    <item name="android:popupBackground">@android:color/white</item>
</style>

<drawable name="menu_full_bg">#FFFFFF</drawable>

最佳答案

您可以更改弹出菜单的背景颜色,如下所示。

  1. 在 styles.xml 中创建样式

    <style name="PopupMenuStyle" parent="Theme.AppCompat.Light">
         <item name="android:background">@android:color/white</item>
    </style>
    
  2. toolbar.xml 中将此主题设置为 toolbar 弹出式主题

     <android.support.v7.widget.Toolbar     
        xmlns:app="http://schemas.android.com/apk/res-auto"    
        xmlns:android="http://schemas.android.com/apk/res/android"
    
            // Your code here
           app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
           app:popupTheme="@style/PopupMenuStyle" />
    

希望这对您有所帮助。

关于Android 菜单背景黑色与 Theme.AppCompat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29283369/

相关文章:

来自内部存储的 Android Intent.ACTION_SEND 和 Content Provider

android - 我有一个带有回收器 View 适配器类的 Activity ,当在适配器类中单击按钮时我想刷新主要 Activity

Android SQLite 按名称搜索

android - MediaStore.EXTRA_OUTPUT 在横向模式下始终包含 null

java - 将 Java 对象转换为 XML 时的 XStream 撇号问题

xml - 如何更改 Excel XML 数据导出的缩进?

eclipse : color blocks of code?

c - 快速、优化和准确的 RGB <-> C 语言中的 HSB 转换代码

java - 如何将 catalog.xml 实体与数据库匹配?

image - 使用 julia 将图像从 RGB 转换为 HSL 并再次转换回来