0

我想像这样自定义我的标签自定义标签样式

即选定的选项卡将具有白色背景,而未选定的选项卡将具有绿色背景。

到现在为止我能够实现

我做了什么

为了实现这一点,我正在做以下作为我的风格:-

<resources>
    <style name="ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
        <item name="android:background">@color/sa_green</item>
        <item name="android:backgroundStacked">@color/stacked_green</item>
        <item name="android:backgroundSplit">@color/sa_green</item>
    </style>

    <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/ActionBar</item>
    </style>
</resources>

颜色.xml

<resources>
    <color name="sa_green">#14a804</color>
    <color name="stacked_green">#118504</color>
    <color name="accent_green">#97e08f</color>
</resources>

如何去除蓝色指示器并根据选择的选项卡更改背景?

4

1 回答 1

1

您需要一个选择器 xml,而不仅仅是 @color/sa_green。选择器将根据其状态告诉选项卡使用什么颜色。

你可以这么简单:

可绘制/tab_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="false"
      android:background="@color/green" />
    <item android:state_pressed="true"
      android:drawable="@color/white" />
</selector>

然后你只需要放

<item name="android:actionBarTabStyle">@style/ActionBar</item>

在你的主题中

并在您的风格 ActionBar 中声明,如下所示:

<style name="ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.TabView">
    <item name="android:background">@drawable/tab_selector</item>
</style>

应该就是这样

于 2014-09-11T16:30:50.133 回答