如何更改actionBar Tab的字体颜色以区分选中和未选中?

时间:2014-04-23 18:06:31

标签: android colors

在android actionBar标签中,当您选择一个标签时,该特定标签会获得蓝色 - 下划线 - 突出显示,而剩下的不会显示。哪个好。

但是我的项目希望SELECTED标签的特定TEXT-COLOR为BLUE颜色,而所有其他UNSELECTED标签的TEXT-COLOR都是灰色。

我怎样才能实现文字颜色的变化?

据我所知,我把文字颜色设为蓝色..但是它的蓝色文字也是SELECTED和UNSELECTED TABS。

以下是我目前正在使用的代码(在res / value /中的theme.xml中创建)

    <style name="CustomActionBarTheme"
       parent="@style/Theme.AppCompat.Light">
    <item name="android:actionBarTabStyle">@style/MyActionBarTabs</item>
    <item name="android:textColor">#00A7F4</item>
    <item name="android:actionBarTabTextStyle">@style/custom_actionbar_tab_text_style</item> 

    <!-- Support library compatibility -->
    <item name="actionBarTabStyle">@style/MyActionBarTabs</item>
    <item name="android:textColor">#00A7F4</item>
    <item name="android:actionBarTabTextStyle">@style/custom_actionbar_tab_text_style</item> 
</style>

<!-- ActionBar tabs styles -->
<style name="MyActionBarTabs"
       parent="@style/Widget.AppCompat.Light.ActionBar.TabView">
    <!-- tab indicator -->
    <item name="android:background">@drawable/actionbar_tab_indicator</item>
    <item name="android:textColor">#00A7F4</item>
    <!-- Support library compatibility -->
    <item name="background">@drawable/actionbar_tab_indicator</item>
    <item name="android:textColor">#00A7F4</item>
</style>

<style name="custom_actionbar_tab_text_style">
        <item name="android:textAllCaps">false</item>

</style>

3 个答案:

答案 0 :(得分:1)

使用颜色状态列表 创建res/color/filename.xml 例如:

<?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true" android:color="#000000" /> <!-- pressed -->
     <item android:state_focused="true" android:color="#000000" /> <!-- focused -->
     <item android:color="#FFFFFF" /> <!-- default -->
 </selector>

然后使用它 <item name="android:textColor">@color/filename</item>

了解详情:http://developer.android.com/guide/topics/resources/color-list-resource.html

答案 1 :(得分:1)

Try This
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:state_pressed="true" android:color="#000000" /> <!-- pressed -->
 <item android:state_focused="true" android:color="#000000" /> <!-- focused -->
 <item android:color="#FFFFFF" /> <!-- default -->

或在代码中

<item name="android:textColor">@color/filename</item>

答案 2 :(得分:0)

如果我将所有行组合在一起,则答案将遵循代码。在res文件夹下创建新文件夹(res / color / filename.xml)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#FFFFFF" /> <!-- pressed -->
<item android:state_focused="true" android:color="#FFFFFF" /> <!-- focused -->
<item android:state_selected="true" android:color="#FFFFFF" /> <!-- selected -->
<item android:color="#B3FFFFFF" /> <!-- default -->