Dar texto de la pestaña seleccionada un color diferente utilizando ViewPagerIndicator
He intentado dejar que la demostración SampleTabsStyled de ViewPagerIndicator cambie el color del texto de la pestaña actualmente seleccionada sin éxito.
Sin embargo, la demostración SampleTitlesStyledTheme cambia su color de texto al cambiar entre títulos / pestañas.
- Añadir ViewPagerIndicator a Android Studio
- Gradle - No se puede importar viewpagerindicator en Android Studio usando gradle dependency
- Cambiar el nombre de página en Android Viewpager
- Deshabilitar animación suave al hacer clic en las pestañas con ViewPagerIndicator
- Imágenes en lugar de textos de título en las pestañas del widget ViewPagerIndicator
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
utiliza el estilo CustomTitlePageIndicator
, que define un elemento selectedColor
. Así que (quizás ingenuamente) pensé agregar
<item name="selectedColor">#FF000000</item>
Al estilo de la demostración SampleTabsStyled
está utilizando, CustomTabPageIndicator
, pero, por desgracia, que no funcionó.
La pregunta parece obvia, pero voy a preguntar de todos modos: ¿hay alguna manera (usando el xml de los estilos actuales) para dejar el texto actualmente seleccionado de una lengüeta en el demo de SampleTabsStyled
tiene un diverso color que el otro tabs? ¿Si es así, cómo?
EDITAR
Ah, y estoy usando esto en combinación con ActionBarSherlock, en caso de que es importante …
- Indicar después de pasar la última página en ViewPager
- Accidente después de agregar el elemento al menú de opciones de la barra de acción de Fragmento seguido de cambio de orientación
- Java.lang.IllegalStateException: ViewPager no se ha consolidado (usando el indicador JakeWharton ViewPager)
- Android: RecyclerView dentro de un ScrollView
- ViewPagerIndicator: Texto multilínea para el título de la pestaña?
- Navegación de la barra de acciones de Android deja de funcionar
- No se puede agregar ViewPagerIndicator a la aplicación con Gradle
- Resaltar o subrayar seleccionado TabPageIndicator
Suponiendo que no le importa 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 pone bajo 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>
Por último, basta con definir los dos colores @color/text_tab_selected
y @color/text_tab_unselected
en el archivo 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>
Prueba esto
La forma más simple
<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 se olvide de añadir esta Dependencia
compile 'com.android.support:design:23.1.1'