studio - viewpager indicator android
Dale un color diferente al texto de la pestaña seleccionada usando ViewPagerIndicator (2)
Prueba esto
Forma más sencilla
<android.support.design.widget.TabLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabTextColor="@color/White"
app:tabSelectedTextColor="@color/Blue"
app:tabIndicatorColor="@color/Yellow"
app:tabMode="fixed"
app:tabGravity="fill"/>
No te olvides de añadir esta dependencia.
compile ''com.android.support:design:23.1.1''
He intentado dejar que la demostración SampleTabsStyled del ViewPagerIndicator cambie el color del texto de la pestaña seleccionada actualmente sin éxito.
Sin embargo, la demostración de SampleTitlesStyledTheme cambia su color de texto al cambiar entre títulos / pestañas.
Al mirar dentro de los estilos xml :
<resources>
...
<style name="CustomTitlePageIndicator">
<item name="android:background">#18FF0000</item>
<item name="footerColor">#FFAA2222</item>
<item name="footerLineHeight">1dp</item>
<item name="footerIndicatorHeight">3dp</item>
<item name="footerIndicatorStyle">underline</item>
<item name="android:textColor">#AA000000</item>
<item name="selectedColor">#FF000000</item>
<item name="selectedBold">true</item>
</style>
...
<style name="CustomTabPageIndicator" parent="Widget.TabPageIndicator">
<item name="android:background">@drawable/custom_tab_indicator</item>
<item name="android:textAppearance">@style/CustomTabPageIndicator.Text</item>
<item name="android:textColor">#FF555555</item>
<item name="android:textSize">16sp</item>
<item name="android:divider">@drawable/custom_tab_indicator_divider</item>
<item name="android:dividerPadding">10dp</item>
<item name="android:showDividers">middle</item>
<item name="android:paddingLeft">8dp</item>
<item name="android:paddingRight">8dp</item>
<item name="android:fadingEdge">horizontal</item>
<item name="android:fadingEdgeLength">8dp</item>
</style>
<style name="CustomTabPageIndicator.Text" parent="android:TextAppearance.Medium">
<item name="android:typeface">monospace</item>
</style>
...
</resources>
Veo que la demostración SampleTitlesStyledTheme
usa el estilo CustomTitlePageIndicator
, que define un elemento de CustomTitlePageIndicator
selectedColor
. Entonces (tal vez ingenuamente) pensé agregar
<item name="selectedColor">#FF000000</item>
al estilo que SampleTabsStyled
demostración SampleTabsStyled
, CustomTabPageIndicator
, pero, por desgracia, no funcionó.
La pregunta parece obvia, pero preguntaré de todos modos: ¿hay alguna forma (utilizando el xml de estilos actuales) para que el texto seleccionado actualmente de una pestaña en la demostración de SampleTabsStyled
tenga un color diferente al de las otras pestañas? ¿Si es así, cómo?
EDITAR
Ah, y estoy usando esto en combinación con ActionBarSherlock, en caso de que sea importante ...
Suponiendo que no le importe crear un xml extra, primero intente incluir el atributo android:textColor
en su CustomTabPageIndicator.Text
(o CustomTabPageIndicator
) de esta manera:
<style name="CustomTabPageIndicator.Text" parent="android:TextAppearance.Medium">
<item name="android:textColor">@drawable/tab_text_color</item>
...
</style>
donde tab_text_color.xml
se coloca en la carpeta res / drawable:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="true"
android:color="@color/text_tab_selected" />
<item
android:state_selected="false"
android:color="@color/text_tab_unselected" />
</selector>
Finalmente, simplemente defina los dos colores @color/text_tab_selected
y @color/text_tab_unselected
en su archivo de recursos de color colors.xml
ubicado en la carpeta res / values (cree uno si aún no existe). Por ejemplo:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="text_tab_selected">#FF000000</color>
<color name="text_tab_unselected">#FF555555</color>
</resources>