TabWidget blanco color de primer plano?
No sé qué hice pero por un período de tiempo mi TabWidget tenía las lengüetas coloreadas blancas que parecían realmente agradables. Nunca he definido un tema o fondo / color de primer plano en mi proyecto en absoluto. La próxima vez que lo compilé volvió a las pestañas grises. Mi aplicación utiliza el tema oscuro predeterminado. Incluso si establezco el tema de la aplicación a la luz, las pestañas siguen siendo gris. Así que obviamente fue otra cosa que cambió el color de las pestañas. Alguien sabe cómo hacer esto?
- Android elimina el espacio entre las pestañas de tabwidget
- Widget de la pestaña siempre en los alfabetos de mayúsculas en Android 4.0
- Divisores entre TabWidgets
- Backbutton y pestañas de Android ActionBar
- Android 2.1 NullPointerException con TabWidgets
- Lengüetas de diferentes tamaños en Android
- Android tabwidget intención tabs actualizar cada golpe
- TabWidget - ¿Cómo establecer la posición del texto del indicador?
- Parches existentes para android tabwidget para permitir pestañas en el lado izquierdo?
- Creación de botones de pestaña personalizados
- ¿Por qué obtengo una excepción de puntero nulo de TabWidget?
- ¿Por qué aparece el teclado después de TabBar?
- Android TabWidget detectar clic en la pestaña actual
Tenía un problema debido a un error en el tema ligero de Android 1.6 (el texto del indicador de tabulación es blanco). Pude reemplazar el tema predeterminado de la siguiente manera:
- Creé un tema personalizado que heredó del tema predeterminado:
styles.xml
:
<style name="MyTheme" parent="@android:style/Theme.Light"> <item name="android:tabWidgetStyle">@style/LightTabWidget</item> </style> <style name="LightTabWidget" parent="@android:style/Widget.TabWidget"> <!-- set textColor to red, so you can verify that it applied. --> <item name="android:textColor">#f00</item> </style>
Luego aplico ese tema a mi aplicación añadiendo android:theme="@style/MyTheme"
al elemento <application />
de mi AndroidManifest.xml
.
Compruebe esta respuesta de la mía: Fondo en la pestaña widget ignorar la escala
También puede consultar el paquete android.graphics.drawable
En tu código, puedes configurar el fondo para tus pestañas como esta:
tabHost.getTabWidget().getChildAt(0).setBackgroundResource( android.R.color.white);
En el public void onCreate(Bundle savedInstanceState)
`tabHost = getTabHost(); tabHost.setOnTabChangedListener(this); tabHost.setCurrentTab(0); setTabColor();`
Que en el oyente:
Public void onTabChanged (String tabId) {setTabColor ();
Finalmente la función, que establece el primer plano y el fondo también:
public void setTabColor() { // set foreground color: for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) { RelativeLayout rl = (RelativeLayout) tabHost.getTabWidget().getChildAt(i); ImageView imageView = (ImageView) rl.getChildAt(0);// change it if you want it TextView textView = (TextView) rl.getChildAt(1);// textView.setTextColor(Color.parseColor("#FFFFFF")); } // set background color: for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) { tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#010101")); // unselected } tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#121288")); // selected }
En onCreated ():
tabHost.setCurrentTab(0); // Set tabs text color to white: TabWidget tabWidget = tabHost.getTabWidget(); int whiteColor = getResources().getColor(R.color.white); int someOtherColor = getResources().getColor(R.color.someOtherColor); for(int i = 0; i < tabWidget.getChildCount(); i++){ View tabWidgetChild = tabWidget.getChildAt(i); if(tabWidgetChild instanceof TextView){ ((TextView) tabWidgetChild).setTextColor(whiteColor); } else if(tabWidgetChild instanceof Button){ ((Button) tabWidgetChild).setTextColor(whiteColor); } else if(tabWidgetChild instanceof ViewGroup){ ViewGroup vg = (ViewGroup)tabWidgetChild; for(int y = 0; y < vg.getChildCount(); y++){ View vgChild = vg.getChildAt(y); if(vgChild instanceof TextView){ ((TextView) vgChild).setTextColor(whiteColor); } } vg.setBackgroundColor(someOtherColor); } }
- Cómo restar x cantidad de días de la fecha de hoy
- MultiAutoCompleteTextView con adaptador personalizado muestra una cadena de caracteres dañada