Chciałbym, aby moje zakładki z Androidem wyglądały płasko i prosto, jak te w oficjalnej aplikacji TWitter. Jak mogę przesłonić domyślny (jasny) motyw i zmienić obrazy tła dla kart za pomocą definicji stylów/motywów?Jak zmienić styl zakładki w systemie Android?
Odpowiedz
Możesz dopasować zakładki za pomocą kodu - oto fragment z mojej aplikacji, ale możesz też bezpośrednio przypisać motywy zamiast obrazu tła. (Nie użyłem jeszcze sposobu za pomocą atrybutów xml, nie jestem pewien, czy to też jest jakoś dostępne).
private void initTabs() {
tabs = (TabHost) findViewById(R.id.tabhost);
tabs.setup();
tabs.setBackgroundResource(R.drawable.bg_midgray);
TabHost.TabSpec spec;
// Location info
txtTabInfo = new TextView(this);
txtTabInfo.setText("INFO");
txtTabInfo.setPadding(0, 5, 0, 0);
txtTabInfo.setTextSize(11);
txtTabInfo.setBackgroundResource(R.drawable.bg_tab_left_active_right_inactive);
txtTabInfo.setTextColor(Color.DKGRAY);
txtTabInfo.setGravity(Gravity.CENTER_HORIZONTAL);
txtTabInfo.setHeight(39);
spec = tabs.newTabSpec("tabInfo");
spec.setContent(R.id.tabInfo);
spec.setIndicator(txtTabInfo);
tabs.addTab(spec);
...
}
spec. setIndicator (txtTabInfo); To nie jest dozwolone. Kompilator podaje błąd w tej linii. – sachin
Można również zrobić to za pomocą XML i utworzyć/zdefiniować globalny motyw dla wszystkich kart w aplikacji. Nie ma więcej informacji na temat tworzenia widgetów tematów tutaj: http://developer.android.com/guide/topics/ui/themes.html
użyłem następującą definicję mojego rozciągliwej, tab_background.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_selected="true" android:drawable="@drawable/tab_bg_selected" />
<item android:drawable="@drawable/tab_bg_normal" />
</selector>
następnie iteracyjne nad kartami, aby je ustawić.
TabWidget tabWidget = tabHost.getTabWidget();
for(int i=0; i<tabWidget.getChildCount(); i++)
tabWidget.getChildAt(i).setBackgroundResource(R.drawable.tab_background);
- 1. jak zmienić styl selektora liczb w systemie Android?
- 2. Czy można zmienić kolor wybranej zakładki w systemie Android?
- 3. android: jak zmienić styl edycji tekstu?
- 4. TabHost - jak zmienić tekst zakładki w XML
- 5. Jak zaimplementować niestandardowe zakładki w systemie Android, takie jak Instagram
- 6. Jak zmienić styl DatePicker w Androidzie?
- 7. jak zmienić kolor tekstu wskaźnika kart w systemie Android?
- 8. Jak zmienić aktywność startową w systemie Android?
- 9. Jak zmienić pozycję Toasta w systemie Android?
- 10. Jak zmienić rozmiar obrazu w systemie Android?
- 11. Jak stylizować tekst zakładki ActionaBar w systemie Android?
- 12. Jak zmienić kolor tekstu ActionBar w systemie Android 5.0 Lollipop?
- 13. Jak zmienić kolejność zakładki KendoGrid?
- 14. Jak zmienić szerokość zakładki w git diff?
- 15. Jak zmienić styl domyślnego EditText
- 16. Jak zmienić kartę okienka styl
- 17. Android Studio: jak zmienić domyślny styl i zachowanie kursora?
- 18. Jak mogę zmienić styl UIBarButtonItem w kodzie
- 19. Jak zmienić styl strzałki w JComboBox
- 20. Jak zmienić styl czcionki w Swift
- 21. Jak zmienić styl czcionki w ActionBarSherlock
- 22. Jak działa styl Android: attr?
- 23. Styl PopupMenu Android
- 24. Jak zmienić widok z zakładki paska akcji
- 25. Nie można zmienić zakładki w JTabbedPane
- 26. Android Jak zmienić nazwę aplikacji
- 27. Jak zmienić dźwięk powiadomienia według kodu w systemie Android?
- 28. Jak zmienić kolor paska stanu w systemie Android?
- 29. Jak zmienić kolor przycisku koloru po naciśnięciu w systemie Android?
- 30. Jak zmienić tekst na pogrubiony w systemie Android?
Najbardziej eleganckie rozwiązanie widziałem do tej pory to: http://stackoverflow.com/questions/3078081/setting-a-global-style-for-views-in-android/3166865#3166865 –