我跟着this Guide设置了ActionBar的样式。我在我的应用中使用了固定的tabs,所以我也要对标签进行主题化 (注意:我正在使用appcompat主题来确保一些向后兼容性)
所以我用了
<style
name="CustomTheme"
parent="@style/Theme.AppCompat.Light" >
<item name="android:actionBarStyle">@style/CustomActionBar</item>
<item name="actionBarStyle">@style/CustomActionBar</item>
<item name="android:actionBarTabStyle">@style/CustomActionBarTabs</item>
<item name="actionBarTabStyle">@style/CustomActionBarTabs</item>
</style>
作为我的主题。
我没有问题地设置ActionBar背景,但后来我尝试使用以下选项来标记:
<style
name="CustomActionBarTabs"
parent="@style/Widget.AppCompat.ActionBar.TabView" >
<item name="android:background">@drawable/customtheme_actionbar_tab_indicator</item>
<item name="background">@drawable/customtheme_actionbar_tab_indicator</item>
</style>
背景指向StateList,其中我为不同的上下文设置了不同的drawable,其工作方式与预期的一样。除了标签 之外。不适用于ActionBar。
标签栏的分隔符和背景不是主题 我怎么能主题那些? (灰色部分)
我想知道是否有任何关于创建看起来不错的主题的指南? (好=类似于默认主题,所以应用程序适合Android生态系统)
因为如果你仔细观察默认主题,你可以在ActionBar drawable的底部看到一个小行。 (在我的主题中是浅绿色的部分)
在创建一个看起来与默认主题类似的主题时,您可能会考虑其他一些事情,因此对某些指南来说会很好。
另外:TabBar是否总是比ActionBar更暗? (如果是这样,有多深?)
图像颜色(如图像中溢出按钮的颜色)应该比ActionBar颜色更亮/更暗?
提前致谢,
乌列尔
答案 0 :(得分:5)
添加此
<style
name="CustomTheme"
parent="@style/Theme.AppCompat.Light" >
.
.
.
<item name="android:actionBarTabBarStyle">@style/TabBar</item>
</style>
然后
<style name="TabBar" parent="@style/Widget.AppCompat.ActionBar.TabBar">
<item name="android:background">/** Whatever color you want, like #ffff00 **/</item>
</style>
答案 1 :(得分:0)
只是因为这可能对某人有帮助
以下这个对我有用
<style name="Theme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarTabStyle">@style/Theme.MyActionBarTab</item>
<item name="actionBarTabTextStyle">@style/Theme.MyActionBarTabText</item>
</style>
<style name="Theme.MyActionBarTab" parent="@style/Widget.AppCompat.ActionBar.TabView">
<item name="android:background">@color/gray_mask</item>
</style>
<style name="Theme.MyActionBarTabText" parent="Widget.AppCompat.Light.ActionBar.TabText">
<item name="android:textColor">@color/black</item>
<item name="android:textSize">@dimen/size_28</item>
<item name="android:gravity">center</item>
<item name="textAllCaps">false</item>
</style>