Вкладка Темы для Android
Я хочу настроить свою вкладку следующим образом
т.е. выбранная вкладка будет иметь белый фон, а невыбранная вкладка будет иметь зеленый фон.
До сих пор я могу добиться
чтобы добиться этого, я делаю следующее как мой стиль:
<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>
color.xml
<resources>
<color name="sa_green">#14a804</color>
<color name="stacked_green">#118504</color>
<color name="accent_green">#97e08f</color>
</resources>
Как убрать синий индикатор и поменять фон на основе какой вкладки выбран?
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>
И это должно быть