Android 2.2 d.h API Ebene 8 hat tabStripEnabled = "true" für TabWidget , wie diese in älteren Versionen von Android zu erreichen?tabStripEnabled für TabWidget in älteren API
Antwort
private void SetupTabs(TabHost tabHost) {
LinearLayout ll = (LinearLayout) tabHost.getChildAt(0);
TabWidget tw = (TabWidget) ll.getChildAt(0);
Field mBottomLeftStrip;
Field mBottomRightStrip;
try {
mBottomLeftStrip = tw.getClass().getDeclaredField("mBottomLeftStrip");
mBottomRightStrip = tw.getClass().getDeclaredField("mBottomRightStrip");
if (!mBottomLeftStrip.isAccessible()) {
mBottomLeftStrip.setAccessible(true);
}
if (!mBottomRightStrip.isAccessible()) {
mBottomRightStrip.setAccessible(true);
}
mBottomLeftStrip.set(tw, getResources().getDrawable(R.drawable.blank));
mBottomRightStrip.set(tw, getResources().getDrawable(R.drawable.blank));// blank is the name of the image in drawable folder
}
catch (java.lang.NoSuchFieldException e) {
// possibly 2.2
try {
Method stripEnabled = tw.getClass().getDeclaredMethod("setStripEnabled", boolean.class);
stripEnabled.invoke(tw, false);
}
catch (Exception e1) {
e1.printStackTrace();
}
}
catch (Exception e) {}
}
Vielen Dank!!!! – Eby
Das hat bei mir nicht funktioniert. Ich habe es sowohl auf einem 2.1 und 2.2 Emulator versucht. Gibt es noch etwas, das ich bei der Verwendung dieses Hacks beachten sollte? Der Code wurde korrekt basierend auf dem aktuellen SDK ausgeführt, der untere Rand für das TabWidget blieb jedoch erhalten. – dannyroa
Dies funktioniert perfekt, einige Dinge zu beachten, erstellen Sie ein transparentes Bild und nennen Sie es leer. Ich habe eine kleine Änderung vorgenommen, indem ich auskommentiert habe: LinearLayout ll = (LinearLayout) tabHost.getChildAt (0); TabWidget tw = (TabWidget) ll.getChildAt (0); und mit TabWidget tw = tabHost.getTabWidget ersetzt(); – Fred
ich es so gemacht:
try {
Method setStripEnabled = tabWidget.getClass().getDeclaredMethod(
"setStripEnabled", boolean.class);
setStripEnabled.invoke(tabWidget, true);
Method setLeftStripDrawable = tabWidget.getClass()
.getDeclaredMethod("setLeftStripDrawable", int.class);
setLeftStripDrawable.invoke(tabWidget, R.drawable.tab_line);
Method setRightStripDrawable = tabWidget.getClass()
.getDeclaredMethod("setRightStripDrawable", int.class);
setRightStripDrawable.invoke(tabWidget, R.drawable.tab_line);
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
- 1. TabWidget Höhe
- 2. Android TabWidget Hintergrundfarbe Fehler
- 3. Android TabWidget in Light Thema
- 4. Wie Eltern Ausrichtung für Registerkarte TabWidget?
- 5. Android Right Align TabWidget
- 6. TabHost/TabWidget - Hintergrund skalieren?
- 7. TabWidget ohne Titel
- 8. Android benutzerdefinierte TabWidget
- 9. Ändern Sie Textfarbe und Selektor in TabWidget
- 10. FragmentTabHost anpassen TabWidget unten setzen
- 11. Iframe API scheint nur auf älteren Eitelkeit URLs zu arbeiten
- 12. Android TabWidget Text Rand/Padding
- 13. Android TabWidget White Space Problem
- 14. Lokalisierung für neue Dateien in älteren Projekt bricht App
- 15. Muss FragmentTabHost TabWidget explizit definiert werden
- 16. Android Tabwidget Intent Tabs aktualisieren jeden Treffer
- 17. Wie verwende ich JSON in älteren Browsern?
- 18. Wie kann Padding oder Rand in Tabwidget in Android entfernen?
- 19. Wie style ich ein TabWidget in Ice Cream Sandwich?
- 20. Link zu älteren Rails-Dokumentation
- 21. GitHub: Suche in älteren Versionen von Dateien
- 22. Wie ein separates Fenster aus einem TabWidget in PySide Qt
- 23. WPF: Verbessern der Leistung für das Ausführen auf älteren PCs
- 24. Auto-Generating Unit-Tests für älteren Java-Code
- 25. Wie verwende ich eine qualifizierte Ressourcendatei nur auf älteren Geräten?
- 26. Implement Unit Testing auf einer älteren Website
- 27. java.lang.NoClassDefFoundError auf älteren Android SDK-Versionen
- 28. Reflektieren einer älteren Version von System.dll
- 29. Android - wie unvereinbar apis mit älteren Versionen finden
- 30. Inverse Beziehung in Core Data zu älteren Modellversionen hinzufügen
hatte ich den Tabs am unteren Rande des Bildschirms, Also tue ich es, wie unten ... Ich habe android: layout_marginBottom = "- 10dip" Bewegen des bottomStrip aus dem Bildschirm , wollen aber die genaue Art und Weise wissen, es zu tun ... Dank –
amithgc