2016-06-13 529 views
1

我的選項卡文本是藍色,背景是白色。選擇選項卡時,我想顯示藍色背景和白色標籤文本。更改選項卡選擇選項卡時的文本顏色

我使用選擇器更改了背景。但我多次嘗試選擇時文本顏色不會改變。請幫助我。

styles.xml

<style name="MainTheme" parent="android:Theme.Holo.Light.DarkActionBar"> 
    <item name="android:actionBarTabTextStyle">@style/tab_text_color</item> 
</style> 

<style name="actionbar_tab_style" parent="@android:style/Widget.Holo.Light.ActionBar.TabBar"> 
    <item name="android:background">@drawable/tab_background_select</item> 
    <item name="android:textColor">@drawable/tab_text_select</item> 
</style> 

tab_background_select.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:state_selected="true" 
     android:drawable="@color/blue"/> 
</selector> 

tab_text_select.xml

<?xml version="1.0" encoding="utf-8"?> 

<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item 
     android:state_selected="true" 
     android:color="#FFFFFF"/> 
    <item 
     android:state_selected="false" 
     android:color="#0000FF"/> 
     <!-- 
     <item android:state_selected="true"> 
      <shape> 
       <solid android:color="@color/white"/> 
      </shape> 
     </item> 
     <item> 
      <shape> 
       <solid android:color="@color/light_blue"/> 
      </shape> 
     </item> --> 

</selector> 
+0

我假設你正在使用'TabLayout'。你在哪裏定義你的'TabLayout'?請顯示XML代碼,以便我們可以檢查它。 – ishmaelMakitla

+0

我在代碼 – tenten

+0

中使用了操作欄選項卡,並且您知道這種導航方式已被[在API級別21中棄用](https://developer.android.com/reference/android/app/ ActionBar.Tab.html)?在任何情況下,你可以嘗試像這樣:'getActionBar()。setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor(「#YourFavoriteColorHere」)))' - 也看看這個密切相關的討論[這裏](http:// stackoverflow.com/questions/11318750/change-actionbar-tabs-background-color)。 – ishmaelMakitla

回答

0

我找到了答案。我必須將tab_text_select.xml放在ti res/colors文件夾中(如果您沒有該文件夾,只需創建它)。

然後

<style name="actionbar_tab_text_style" parent="@android:style/Widget.Holo.Light.ActionBar.TabText"> 
<item name="android:textColor">@color/tab_background_select</item> 

然後上面的樣式應用到主題名稱爲android:actionBarTabTextStyle

相關問題