viewpager studio relex pageindicatorview circleindicator bullets android actionbarsherlock viewpagerindicator

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>