更改ActionBar选项卡背景颜色

Mar*_*yer 12 android android-ui android-actionbar

有没有办法在ActionBar中更改标签栏的背景颜色而不在一行版本中更改它?

澄清我的想法:在纵向模式下,ActionBar分为两行,ActionBar本身和下面的标签.在横向模式下,选项卡位于实际的ActionBar中.

我想改变肖像模式的背景颜色.如果我在TabView中更改背景,它将针对两种模式进行更改.我必须为那些创建单独的样式吗?这提出了第二个问题:有没有办法知道什么时候它会是两条线而什么时候不是?

或者我只是错过了什么?

我正在使用ActionBarSherlock btw

Jes*_*erB 43

我认为你正在寻找android:backgroundStackedActionBar风格的属性:

<style name="MyTheme" parent="android:Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/MyActionBarStyle</item>
</style>

<style name="MyActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar.Solid">
    <item name="android:backgroundStacked">@drawable/my_stacked_background</item>
</style>
Run Code Online (Sandbox Code Playgroud)

或(如果使用ActionBarSherlock):

<style name="MyTheme" parent="@style/Theme.Sherlock.Light">
    <item name="android:actionBarStyle">@style/MyActionBarStyle</item>
    <item name="actionBarStyle">@style/MyActionBarStyle</item>
</style>

<style name="MyActionBarStyle" parent="@style/Widget.Sherlock.Light.ActionBar.Solid">
    <item name="android:backgroundStacked">@drawable/my_stacked_background</item>
    <item name="backgroundStacked">@drawable/my_stacked_background</item>
</style>
Run Code Online (Sandbox Code Playgroud)


Sri*_*h P 24

要更改操作栏选项卡的颜色,请使用以下代码:

//例如,如果您想将白色作为标签背景,那么

getActionBar().setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#FFFFFF")));
Run Code Online (Sandbox Code Playgroud)