我正在使用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>
答案 0 :(得分:7)
由于9-patch drawables大多是透明的,因此可以通过简单地向整个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
的主题,而无需创建新的drawable。
答案 1 :(得分:0)
首先在项目中添加一个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>
这将使活动标签具有白色背景而其他标签为黑色。