将android工具栏弹出菜单主题从黑暗变为轻

时间:2015-09-01 15:04:28

标签: android android-theme android-styles android-toolbar

我正在使用appcompat v22工具栏小部件

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</android.support.v7.widget.Toolbar>

我想要一个主题为主题的弹出菜单(带有黑色文本的白色背景)问题是弹出菜单总是变成黑暗主题(看起来它是从ThemeOverlay.AppCompat.Dark.ActionBar中挑选样式并设置android:popupTheme =&#34; @ style / ThemeOverlay.AppCompat。Light&#34;没有任何区别。

当我从app:theme移动到android:theme时出现了问题(如果我们需要使用appcompat v22版本,那就是推荐的那个

我尝试覆盖样式并在样式中设置许多值

<style name="ToolBarPopUpTheme" parent="ThemeOverlay.AppCompat.Light">
    <item name="android:colorBackground">#ffffff</item>
    <item name="android:textColor">#ffffff</item>
    <item name="android:textColorPrimary">#ffffff</item>
    <item name="android:colorForeground">#ffffff</item>
    <item name="colorControlNormal">#ffffff</item>
    <item name="android:windowBackground">#ffffff</item>
</style>

但是徒劳无功,想知道如何在ActionBar中获得一个轻量级的主题Popup菜单?

谢谢,

2 个答案:

答案 0 :(得分:2)

你想回到app:popupTheme。

如果您查看Toolbar.java的源代码,请在第263行看到以下内容。

setPopupTheme(a.getResourceId(R.styleable.Toolbar_popupTheme, 0));

在这种情况下,R是android.support.v7.appcompat.R(请参阅第32行),因此Toolbar使用app:命名空间作为其属性,而不是android:命名空间。< / p>

出于好奇,你在哪里读到你应该使用android:theme属性?

答案 1 :(得分:1)

据我所知,你使用的是错误的父母风格。

尝试一下:

<style name="ToolBarPopUpTheme" parent="@style/ThemeOverlay.AppCompat.Light" />