如何更改viewpagerindicator选项卡上的选项卡背景?

我正在使用Jake Wharton的ViewpagerIndicator库。 我使用与ActionBarSherlock库结合的标签代码。 一切工作正常,但我试图风格的选项卡背景,并不知道如何。 我想要一个黑暗的标签和轻碎片(标签内容)的黑暗行动栏

我使用的基本主题是Theme.Sherlock.Light.DarkActionBar。 通过将其设置为为选项卡设置属性(如文本颜色,指示符颜色等)的样式的父项来扩展此样式。 这导致黑暗的行动条,轻的选项卡和轻的碎片。

我找不到任何会改变标签本身背景的东西。 我可以改变它的唯一方法是通过将整个应用程序更改为黑暗(使用Theme.Sherlock)。 这是我的代码到目前为止:

<style name="vpiTheme" parent="Theme.Sherlock.Light.DarkActionBar"> <item name="vpiTabPageIndicatorStyle">@style/CustomTabPageIndicator</item> </style> <style name="CustomTabPageIndicator" parent="Widget.TabPageIndicator"> <item name="android:textColor">#FF000000</item> <item name="android:paddingTop">6dp</item> <item name="android:paddingBottom">6dp</item> <item name="android:paddingLeft">16dip</item> <item name="android:paddingRight">16dip</item> <item name="android:maxLines">2</item> </style> 

由于9贴片的绘图大多是透明的,所以可以通过简单地向整个ViewPagerIndicator添加背景颜色来改变标签的颜色,如下所示:

 <com.viewpagerindicator.TabPageIndicator android:id="@+id/indicator" android:layout_height="wrap_content" android:layout_width="fill_parent" android:background="#333333" /> 

这样,您可以继续使用基于Theme.Sherlock.Light.DarkActionBar的主题,而不需要创build新的绘图。

首先添加一个drawable到你的项目中,下面的一个叫做tab_indicator.xml:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@android:color/black" /> <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@android:color/white" /> <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@android:color/black" /> <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@android:color/white" /> </selector> 

然后在你的风格中引用你的drawable:

 <item name="android:background">@drawable/tab_indicator</item> 

这将使活动选项卡有一个白色背景,其他黑色。