Android支持工具栏colorControlNormal颜色

我想设置我的微调下降颜色为白色,同时保持其他元素在我的主题默认颜色。 情况如下:

工具栏和微调器

<android.support.v7.widget.Toolbar android:layout_height="@dimen/action_bar_height" android:layout_width="match_parent" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary" app:theme="@style/ToolbarTheme.Base" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> <Spinner android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true"/> </android.support.v7.widget.Toolbar> 

而风格是:

 <!-- My base app theme --> <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/primary</item> <item name="colorPrimaryDark">@color/primary_dark</item> <item name="colorAccent">@color/theme_tint</item> <!-- <item name="colorControlNormal">#FFFFFF</item> --> <item name="android:windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="android:typeface">sans</item> <item name="android:windowBackground">@color/background_primary</item> </style> <!-- My Toolbar theme --> <style name="ToolbarTheme.Base" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="colorControlNormal">#FFFFFF</item> </style> 

如果我在应用程序主题中添加了<item name="colorControlNormal">#FFFFFF</item> ,那么微调框下拉菜单会显示白色,但是checkbox也会变成白色。 那么我怎么才能让纺纱工去白呢?

Solutions Collecting From Web of "Android支持工具栏colorControlNormal颜色"

最后,我发现如何将Spinner箭头颜色更改为白色。

1)在styles.xml ,添加以下样式:

 <style name="ActionBarThemeOverlay" parent=""> <item name="android:textColorPrimary">#ffffff</item> <item name="colorControlNormal">#ffffff</item> <item name="colorControlHighlight">#ff33b5e5</item> </style> <style name="Widget.MyTheme.HeaderBar.Spinner" parent="Widget.AppCompat.Light.Spinner.DropDown.ActionBar"> <item name="android:theme">@style/ActionBarThemeOverlay</item> </style> 

2)在布局中,使用Spinner (在Toolbar的情况下),将样式添加到微调器:

 <Spinner xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/my_spinner" style="@style/Widget.MyTheme.HeaderBar.Spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

刚才偶然发现了这个问题。 尽pipe前一段时间我已经问过了,但我只想留下一个应该可以工作的答案:

工具栏* .xml

 <android.support.v7.widget.Toolbar <!-- leave the theme stuff out of here --> style="@style/MyToolbarStyle" android:layout_width="match_parent" android:layout_height="wrap_content"> 

样式/主题

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- your other attributes --> <!-- following is used to tint the checkbox - purple for demo purpose --> <item name="colorControlNormal">#2196F3</item> </style> <style name="MyToolbarStyle"> <item name="android:minHeight">?actionBarSize</item> <item name="android:background">?colorPrimary</item> <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item> <item name="theme">@style/MyToolbarTheme</item> </style> <style name="MyToolbarTheme"> <!-- Used to tint the back arrow, menu and spinner arrow --> <item name="colorControlNormal">#FFF</item> </style> 

结果

微调和复选框的不同颜色的解决方案

注:我做了checkbox紫色的演示目的