【问题标题】:Can't set my theme无法设置我的主题
【发布时间】:2015-12-19 19:42:37
【问题描述】:

我尝试为我的应用设置主题,但无法修复 -

我在白色背景上看到白色文本 - 如何将 ActionBar 弹出窗口中的文本颜色从白色更改为黑色?

这是我的主题:

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

    <item name="colorPrimary">@color/material_bg</item>
    <item name="colorPrimaryDark">@color/status_bar</item>
    <item name="colorAccent">@color/edittext_primary</item>
    <item name="android:windowBackground">@color/light_blue</item>

    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>

    <item name="android:textColorPrimaryInverse">@android:color/white</item>

    <item name="android:textColorPrimary">@android:color/white</item>

    <item name="actionMenuTextColor">@android:color/white</item>

    <item name="android:textColorSecondary">@android:color/white</item>

    <item name="drawerArrowStyle">@style/WhiteDrawerIconStyle</item>

    <item name="textAppearanceLargePopupMenu">@style/myPopupMenuTextAppearanceLarge</item>
    <item name="android:textAppearanceLargePopupMenu">@style/myPopupMenuTextAppearanceLarge</item>

    <item name="textAppearanceSmallPopupMenu">@style/myPopupMenuTextAppearanceSmall</item>
    <item name="android:textAppearanceSmallPopupMenu">@style/myPopupMenuTextAppearanceSmall</item>

    <item name="popupMenuStyle">@style/myPopupMenuStyle</item>
    <item name="android:popupMenuStyle">@style/myPopupMenuStyle</item>
</style>

<style name="myPopupMenuStyle" parent="@style/Widget.AppCompat.PopupMenu"></style>
<style name="myPopupMenuTextAppearanceSmall" parent="@style/TextAppearance.AppCompat.Light.Widget.PopupMenu.Small">
    <item name="android:textColor">#000000</item>
</style>
<style name="myPopupMenuTextAppearanceLarge" parent="@style/TextAppearance.AppCompat.Light.Widget.PopupMenu.Large">
<item name="android:textColor">#000000</item>
</style>

【问题讨论】:

  • 您在活动布局中使用过工具栏(android.support.v7.widget.Toolbar)??
  • @DhawalSodhaParmar 是的,我使用工具栏
  • 然后在工具栏中更改弹出主题,如 --> app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 或任何你想要的
  • @DhawalSodhaParmar 请写为答案,我关闭此答案)
  • 它可以关闭这个问题保持堆栈清洁:)

标签: android android-theme


【解决方案1】:

将此样式放入 res,

    <style name="MyAppActionBarTheme" parent="android:Theme.Holo.Light">
        <item name="android:popupMenuStyle">@style/MyApp.PopupMenu</item>
        <item name="android:actionBarStyle">@style/MyApp.ActionBar</item>
    </style>

    <!-- The beef: background color for Action Bar overflow menu -->
    <style name="MyApp.PopupMenu" parent="android:Widget.Holo.Light.ListPopupWindow">
        <item name="android:popupBackground">@drawable/menu_dropdown_panel</item>
    </style>

    <!-- Bonus: if you want to style whole Action Bar, not just the menu -->
    <style name="MyApp.ActionBar" parent="android:Widget.Holo.Light.ActionBar.Solid">
        <!-- Blue background color & black bottom border -->
        <item name="android:background">@drawable/blue_action_bar_background</item>
    </style>   

当然,在 AndroidManifest.xml 中:

<application
    android:theme="@style/MyAppActionBarTheme" 
    ... >

您通过此设置获得什么:

【讨论】:

    【解决方案2】:

    试试这个主题,如果你使用的是 android.support.v7.widget.Toolbar,

    它会解决你的问题。

    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-14
      相关资源
      最近更新 更多