Nie wiem, co zrobiłem, ale przez pewien czas mój TabWidget miał białe, kolorowe zakładki, które wyglądały naprawdę ładnie. Nigdy w ogóle nie ustawiłem koloru motywu lub tła/pierwszego planu w moim projekcie. Następnym razem, gdy go skompilowałem, wróciłem do szarej zakładki. Moja aplikacja używa domyślnego ciemnego motywu. Nawet jeśli ustawię kompozycję aplikacji na światło, karty będą nadal szare. To oczywiste, że to coś innego zmieniło kolor kart. Czy ktoś wie, jak to zrobić?TabWidget biały kolor pierwszego planu?
Odpowiedz
I wystąpił problem z powodu błędu w motywie świetlnym systemu Android 1.6 (tekst wskaźnika karty jest biały). Byłem w stanie zastąpić domyślny motyw następująco:
- stworzyłem własny motyw, który odziedziczony z domyślnego motywu:
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>
Potem wystarczy zastosować ten temat do mojej aplikacji, dodając android:theme="@style/MyTheme"
do elementu <application />
mojego AndroidManifest.xml
.
thanx steve, pomógł mi i uczyniłeś moje życie –
Sprawdź tę odpowiedź z kopalni: Background in tab widget ignore scaling
Można również zapoznać się z pakietem
W kodzie android.graphics.drawable
można ustawić tło dla swoich kart tak:
tabHost.getTabWidget().getChildAt(0).setBackgroundResource(
android.R.color.white);
To sprawia, że tło karty jest czarne, bez względu na wszystko. – Monstieur
w public void onCreate(Bundle savedInstanceState)
`tabHost = getTabHost();
tabHost.setOnTabChangedListener(this);
tabHost.setCurrentTab(0);
setTabColor();`
niż w słuchacza:
public void onTabChanged (String tabetyczny) { setTabColor();
wreszcie funkcja, która ustawiona na pierwszym planie i tło TOO:
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
}
W 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);
}
}
- 1. Wykonaj kliknięcie pierwszego planu
- 2. Kroplomierz Photoshopa ustawia kolor tła, a nie pierwszego planu.
- 3. Jak zmienić kolor tekstu pierwszego planu i tła w konsoli?
- 4. Android EditText: Jak zastosować kolor pierwszego planu podczas pisania?
- 5. Wykrywanie zdarzenia pierwszego planu aplikacji
- 6. Jak zmienić kolor pierwszego planu podświetlonego tekstu w polu tekstowym WPF?
- 7. NSURLConnection sendSynchronousRequest - tło do pierwszego planu
- 8. Zmiana pierwszego planu hiperłącza bez utraty koloru hover
- 9. Kolor tła CardView zawsze biały
- 10. Android TabWidget White Space Issue
- 11. Jak zmienić kolor tła lub pierwszego planu etykiety narzędziowej Visual Studio 2010
- 12. Jak zmienić kolor pierwszego planu lub tła przycisku Tkinter w systemie Mac OS X?
- 13. Jak mogę zmienić kolor pierwszego planu i tła komórki tabeli OpenXML?
- 14. jak usunąć kolor pierwszego planu w trybie białych znaków dla Emacs
- 15. Dlaczego światło (kolor niebieski, 50%) analizuje kolor na biały?
- 16. iOS 8.1 UITableview Kolor tła zawsze biały
- 17. WebView zmienia kolor na biały/pusty
- 18. Powiadomienie o usłudze pierwszego planu systemu Android nie wyświetlające się
- 19. Jak ustawić domyślne kolory tła i pierwszego planu emacsa?
- 20. Zmiana koloru pierwszego planu pola tekstowego, gdy zmienia się tekst i spełnia określone kryterium
- 21. Różnica między wyjaśnieniem planu i planu wykonania
- 22. Zmień kolor tekstu na pasku stanu, gdy primaryDark jest biały
- 23. UIStatusBar zmienia kolor na biały, gdy ekran powitalny pokazuje
- 24. Jak zaktualizować kolor zawartości ToggleButton?
- 25. Android TabWidget in Light theme
- 26. HTML/CSS - Dlaczego kolor tła zmienia kolor na biały podczas drukowania?
- 27. Kolor ikony powiadomień na Androidzie nie zmienia się, gdy kolor tła jest biały
- 28. Obraz nie jest całkowicie biały, mimo że jest poprawnie biały
- 29. Dostosuj zestaw FragmentTabHost TabWidget na dole
- 30. Nawigacja Cocoa WebView biały flash
Czy może badania na dwóch różnych wersjach platformy? Styl zakładki zmieniony w wersji 2.0. Ponadto, jeśli mógłbyś opublikować zrzut ekranu, zrobiony przy pomocy 'DDMS', bardzo by to pomogło. –
Ah, tak. Pochodziło z kompilacji 1.6. Czy istnieje sposób ręcznego ustawienia tego samego koloru dla wersji 2.0+? – Monstieur
Miałem ten problem i stwierdziłem, że to atrybut 'targetSdkVersion' w AndroidManifest.xml spowodował, że zmienił się on dla mnie. –