我尝试为我的应用设置样式操作栏和标签,但每次尝试设置样式时,操作栏标签都会消失
<resources>
<style name="STheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarStyle">@style/MyActionBar</item>
<item name="actionBarTabTextStyle">@style/MyActionBarTabText</item>
<item name="actionBarTabStyle">@style/MyActionBarTabView</item>
<item name="android:dialogTheme">@style/MyDialog</item>
</style>
<style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
<item name="background">@color/orange</item>
</style>
<style name="MyActionBarTabText" parent="@android:style/Widget.Holo.ActionBar.TabText">
<item name="android:textAllCaps">false</item>
<item name="android:textSize">10sp</item>
</style>
<style name="MyActionBarTabView" parent="@android:style/Widget.Holo.ActionBar.TabView">
<item name="background">@drawable/actionbar_tab_indicator</item>
<item name="showDividers">middle</item>
<item name="measureWithLargestChild">true</item>
</style>
当我删除此行(操作栏样式)时,标签显示:
<item name="actionBarStyle">@style/MyActionBar</item>
任何人都知道为什么会这样?
答案 0 :(得分:1)
您在父级样式中使用的是AppCompact样式,而在子样式中如何使用Holo样式? 更新样式父母如:
<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
<style name="MyActionBarTabText" parent="@style/Widget.AppCompat.ActionBar.TabText">
<style name="MyActionBarTabView" parent="@style/Widget.AppCompat.ActionBar.TabView">
另请参阅此非常有用的页面以定制操作栏:ActionbarStyleGenerator
希望这有帮助!
答案 1 :(得分:0)
您使用的是支持库Theme.AppCompat
,因此您的自定义样式parent
应如下所示:
<style name="MyActionBar"
parent="@android:style/Widget.AppCompat.ActionBar">
<item name="background">@color/orange</item>
</style>
<style name="MyActionBarTabText"
parent="@android:style/Widget.AppCompat.ActionBar.TabText">
<item name="android:textAllCaps">false</item>
<item name="android:textSize">10sp</item>
</style>
<style name="MyActionBarTabView"
parent="@android:style/Widget.AppCompat.ActionBar.TabView">
<item name="background">@drawable/actionbar_tab_indicator</item>
<item name="showDividers">middle</item>
<item name="measureWithLargestChild">true</item>
</style>
[<强>更新强>
对于上述样式,需要将STheme
更改为:
<style name="STheme" parent="@style/Theme.AppCompat">
如果您确实要将style/Theme.AppCompat.Light.DarkActionBar
用于STheme
,则必须更改自定义样式父级:
<style name="MyActionBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
希望这有帮助!