Pestaña con icono usando TabLayout en Android Design Library
Estoy intentando utilizar el nuevo TabLayout en la biblioteca del diseño del androide para crear la barra de la aplicación con los iconos solamente.
Me gusta esto:
- TabWidget la pestaña actual del color de la línea inferior
- Pestañas, Actividades y Fragmentos anidados
- Añadir iconos a SlidingTabLayout en lugar de texto
- Android TabWidget sin TabHost con acciones personalizadas
- ViewPager con un fragmento ListView - El niño especificado ya tiene un padre
Cómo puedo hacerlo usando la nueva Biblioteca de Diseño Android de TabLayout.
Hay una solución simple para esto, o tengo que utilizar el setCustomView solamente. Estoy tratando de evitar su uso. Porque no conseguí el color del tinte para el icono como esta imagen de arriba.
Trato de escribir así:
tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.ic_dashboard))
Pero el icono sigue estando en el mismo color cuando selecciono la pestaña
- ¿Cómo implementar pestañas desplazables horizontalmente?
- Android SlidingTabLayout con iconos
- ¿Preload todas las vistas de los fragmentos?
- ¿Cómo puedo habilitar las pestañas de la barra de acciones en un fragmento?
- ¿Es posible descargar actividades en línea y cargarlas en pestañas en Android?
- Android: Acceder al objeto de actividad del contenedor desde el fragmento usando putExtra?
- Cómo obtener DrawerLayout para deslizarse sobre la barra ActionBar
- Android Tab Layout inside Fragmento no carga el contenido de la pestaña
Usted tiene que crear un selector
para el icono. Por ejemplo:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/ic_dashboard_pressed" android:state_pressed="true" /> <item android:drawable="@drawable/ic_dashboard_selected" android:state_selected="true" /> <item android:drawable="@drawable/ic_dashboard_normal" /> </selector>
Lo usé así: creó un archivo xml en drawable como se muestra por @Budius.
En el código: tabLayout.getTabAt(0).setIcon(R.drawable.settings_tab_drawable);
y así.
Lo resolví así:
Tint_tab.xml
<com.hannesdorfmann.appkit.image.TintableImageView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" app:tint="@color/tab_color_selector"/>
En tu código java
TintableImageView tab1 = (TintableImageView) LayoutInflater.from(this).inflate(R.layout.tint_tab, null); tab1.setImageResource(R.drawable.ic_dummy); mTabLayout.getTabAt(0).setCustomView(tab1)
- FFMpeg en Android, referencias indefinidas a las funciones de libavcodec, aunque aparece en la línea de comandos
- La compilación de Gradle falla al buscar los servicios de Google Play en Android Studio