Cambiar el indicador de color en SlidingTabLayout

Deseo preguntar que es posible cambiar el color del indicador de la pestaña en el SlidingTablayout? ¿Debo usar SlidingTabsColors de developer.android.com? Sólo quiero cambiar otro color en lugar del color azul predeterminado (creo). Por favor avise. ¡¡¡Gracias!!!

2 Solutions collect form web for “Cambiar el indicador de color en SlidingTabLayout”

Sólo para dejarlo más claro.

SlidingTabLayout tabs = (SlidingTabLayout) findViewById(R.id.sliding_tabs); //referring the layout in xml file tabs.setViewPager(viewpager); //setting the viewpager //setting indicator and divider color tabs.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() { @Override public int getIndicatorColor(int position) { return getResources().getColor(R.color.white); //define any color in xml resources and set it here, I have used white } @Override public int getDividerColor(int position) { return getResources().getColor(R.color.white); } }); 

Como se puede ver en el código fuente debe implementar debajo de la interfaz

 /** * Allows complete control over the colors drawn in the tab layout. Set with * {@link #setCustomTabColorizer(TabColorizer)}. */ public interface TabColorizer { /** * @return return the color of the indicator used when {@code position} is selected. */ int getIndicatorColor(int position); /** * @return return the color of the divider drawn to the right of {@code position}. */ int getDividerColor(int position); } 

Y establecerlo llamando al método de mSlidingTabLayout

 /** * Set the custom {@link TabColorizer} to be used. * * If you only require simple custmisation then you can use * {@link #setSelectedIndicatorColors(int...)} and {@link #setDividerColors(int...)} to achieve * similar effects. */ public void setCustomTabColorizer(TabColorizer tabColorizer) { mTabStrip.setCustomTabColorizer(tabColorizer); } 

O simplemente puedes cambiar

 private static final int DEFAULT_SELECTED_INDICATOR_COLOR = 0xFFF49e04; 

De la clase SlidingTabStrip .

Editado:

Su actividad principal o cualquier objeto que desee controlar el color debe implementar debajo de la interfaz:

 public class MainActivity extends FragmentActivity implements SlidingTabLayout.TabColorizer 

Entonces en los métodos de anulación seleccione su color de acuerdo a la posición:

 @Override public int getIndicatorColor(int position) { return (Your color value ); } @Override public int getDividerColor(int position) { return (Your color value ); } 

A continuación, debe pasar ese objeto a SlidingTab.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.