我想避免在所有布局中将样式应用到工具栏,所以我有一个我为它创建的样式:
<style name="DarkToolbar" >
<item name="android:textColorPrimary">@color/white</item>
<item name="android:textColorSecondary">@color/white</item>
<item name="android:background">@color/blue</item>
<item name="android:elevation">4dp</item>
</style>
我将其添加到我的主题中如下:
<style name="Theme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/blue</item>
<item name="colorPrimaryDark">@color/blue</item>
<item name="colorAccent">@color/blue</item>
<item name="android:toolbarStyle">@style/DarkToolbar</item>
</style>
如您所见,标题和副标题的格式错误。如果我从主题中删除样式并将其直接应用到布局中的工具栏,我会得到以下结果:
两个图像都使用相同的样式。一个是通过应用主题应用
<item name="android:toolbarStyle">@style/DarkToolbar</item>
,第二个应用
直接应用于工具栏style="@style/DarkToolbar"
有谁知道差异的原因? 还有,有谁知道为什么
<item name="android:textColorPrimary">@color/white</item>
<item name="android:textColorSecondary">@color/white</item>
没有申请?
由于
答案 0 :(得分:1)
将parent="Widget.AppCompat.Toolbar"
添加到工具栏样式中。它是工具栏的默认样式。
例如:
<style name="DarkToolbar" parent="Widget.AppCompat.Toolbar">
<item name="android:textColorPrimary">@color/white</item>
<item name="android:textColorSecondary">@color/white</item>
<item name="android:background">@color/blue</item>
<item name="android:elevation">4dp</item>
</style>
答案 1 :(得分:0)
我认为这与
有关&LT; item name =“android:theme”&gt; @ style / ThemeOverlay.AppCompat.Dark.ActionBar&lt; /项目&GT;
以你的风格
我个人觉得样式工具栏文本相当复杂,所以大部分最终都是我自己的TextView。如何在工具栏中使用自己的TextView。这很容易,虽然有点冗长。
答案 2 :(得分:0)
您在主题中将父级设置为无操作栏,因为这将为您提供运行时异常和零点异常,因为没有操作栏或工具栏来设置标题/子标题。尝试在主题中添加父级,工具栏或操作栏就像这样。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="DarkToolbar">
<item name="android:textColorPrimary">@color/white</item>
<item name="android:textColorSecondary">@color/white</item>
<item name="android:background">@color/blue</item>
<item name="android:elevation">4dp</item>
</style>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/blue</item>
<item name="colorPrimaryDark">@color/blue</item>
<item name="colorAccent">@color/blue</item>
<item name="android:toolbarStyle">@style/DarkToolbar</item>
</style>
</resources>
&#13;