android - Deshabilitar el indicador de la pestaña ActionBar mediante programación
android-actionbar android-actionbar-tabs (2)
¿Es posible desactivar el indicador de pestañas usando código programáticamente / Java?
Así es como estoy configurando otras propiedades de las pestañas:
actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setHomeButtonEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#FFFFFF")));
Métodos ActionBar.TabListener
:
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
try {
if (tab.getPosition() == 4) {
listFlyout = null;
pwindo = null;
items.clear();
addFlyout();
} else if (tab.getPosition() == 0) {
tab.getIcon().setColorFilter(Color.parseColor("#10A595"), PorterDuff.Mode.SRC_IN);
selectedTabIndex = tab.getPosition();
} else if (tab.getPosition() == 1) { tab.getIcon().setColorFilter(Color.parseColor("#F25252"), PorterDuff.Mode.SRC_IN);
selectedTabIndex = tab.getPosition();
} else if (tab.getPosition() == 2) {
tab.getIcon().setColorFilter(Color.DKGRAY, PorterDuff.Mode.SRC_IN);
selectedTabIndex = tab.getPosition();
} else if (tab.getPosition() == 3) {
tab.getIcon().setColorFilter(Color.DKGRAY, PorterDuff.Mode.SRC_IN);
selectedTabIndex = tab.getPosition();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
tab.getIcon().setColorFilter(Color.GRAY, PorterDuff.Mode.SRC_IN);
}
@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
if (tab.getPosition() == 4) {
listFlyout = null;
pwindo = null;
items.clear();
addFlyout();
}
}
Pero obtengo un indicador de pestaña verde que no quiero.
Si yo fuera tú, no usaría la pestaña ActionBar
porque está en desuso de la API 21 y tampoco funciona en las tabletas, como es de esperar. yo usaría
(Otra versión de SlidingTabsBasic es aquí debes agregar SlidingTabLayout.java
y SlidingTabStrip.java
)
Si desea utilizar PagerSlidingTabStrip , puede usar pstsIndicatorColor
o
public void setIndicatorColor(int indicatorColor)
public void setIndicatorColorResource(int resId)
de la biblioteca.
Si desea utilizar SlidingTabsBasic
, puede usar
SlidingTabLayout tabs = (SlidingTabLayout) findViewById(R.id.tabs);
tabs.setViewPager(viewpager);
tabs.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() {
@Override
public int getIndicatorColor(int position) {
return getResources().getColor(R.color.white);
}
@Override
public int getDividerColor(int position) {
return getResources().getColor(R.color.white);
}
});
Aplicar el estilo como se responde aquí también deshabilitó el indicador. Una solución me solucionó dos problemas :)