Fly*_*iew 8 tabs android background colors 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>
Run Code Online (Sandbox Code Playgroud)
由于9-patch drawables大多是透明的,因此可以通过简单地向整个ViewPagerIndicator添加背景颜色来更改选项卡的颜色,如下所示:
<com.viewpagerindicator.TabPageIndicator
android:id="@+id/indicator"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:background="#333333" />
Run Code Online (Sandbox Code Playgroud)
这样您就可以继续使用基于主题的主题Theme.Sherlock.Light.DarkActionBar,而不需要创建新的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>
Run Code Online (Sandbox Code Playgroud)
然后按照您的风格引用您的绘图:
<item name="android:background">@drawable/tab_indicator</item>
Run Code Online (Sandbox Code Playgroud)
这将使活动选项卡具有白色背景,而其他选项卡具有黑色背景。