8

我正在使用 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>
4

2 回答 2

7

由于 9-patch 可绘制对象大多是透明的,因此只需向整个 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,而无需创建新的可绘制对象。

于 2012-12-08T13:28:07.510 回答
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>

这将使活动选项卡具有白色背景,而其他选项卡则为黑色。

于 2012-10-23T22:13:29.257 回答