我有一个我刚添加的自定义工具栏。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@color/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
</android.support.v7.widget.Toolbar>
请注意我将背景设置为colorPrimary。
在style.xml中我有两种风格:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="Yellow" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#ffff00</item>
<item name="colorPrimaryDark">#000000</item>
<item name="colorAccent">#ffff00</item>
</style>
我的color.xml
<resources>
<color name="colorPrimary">#000</color>
<color name="colorPrimaryDark">#fff</color>
<color name="colorAccent">#000</color>
</resources>
我使用setTheme:
更改活动中的颜色setTheme(colorId);
它的工作原理,除了背景颜色总是黑色,即使我将setTheme设置为黄色。
任何想法为什么?
答案 0 :(得分:2)
以下代码覆盖了工具栏的背景颜色
android:theme="@style/ThemeOverlay.AppCompat.Dark"
。 从工具栏中删除android:theme属性然后它将起作用。
要更改textcolor,请按照以下代码进行操作:
<style name="CustomTextColor" parent="ThemeOverlay.AppCompat.Light">
<item name="android:textColor">Your Text Color</item>
</style>
现在将主题设置为工具栏:
app:theme="@style/CustomTextColor"
希望这有帮助。