Android 2.2, tj. API Level 8 ma tabStripEnabled = "true" dla TabWidget jak osiągnąć to samo w starszych wersjach Androida?tabStripEnabled dla TabWidget w starym API:
Odpowiedz
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) {}
}
Dziękuję Ci bardzo!!!! – Eby
To nie działa dla mnie. Próbowałem go zarówno na emulatorze 2.1 i 2.2. Czy jest coś jeszcze, co powinienem wziąć pod uwagę podczas używania tego hacka? Poprawnie wykonano kod na podstawie bieżącego zestawu SDK, ale dolna ramka dla elementu TabWidget pozostała. – dannyroa
To działało idealnie, kilka rzeczy do zapamiętania, stwórz przezroczysty obraz i nazwij go pustym. Wprowadziłem niewielką zmianę, komentując: LinearLayout ll = (LinearLayout) tabHost.getChildAt (0); TabWidget tw = (TabWidget) ll.getChildAt (0); i zastąpienie przez TabWidget tw = tabHost.getTabWidget(); – Fred
zrobiłem to tak:
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. Android TabWidget in Light theme
- 2. Jak wypozycjonować TabWidget w Ice Cream Sandwich?
- 3. TabHost/TabWidget - obraz w tle skali?
- 4. TabWidget biały kolor pierwszego planu?
- 5. Android TabWidget White Space Issue
- 6. Problemy z getArgs w starym kodzie Haskella
- 7. Python - dziedzicząc z klas w starym stylu
- 8. Dostosuj zestaw FragmentTabHost TabWidget na dole
- 9. Ukryj kartę poprzednio dodaną do Qt TabWidget
- 10. Azure WebJob działa pod starym kodem
- 11. Symulator Xamarin iOS działający pod starym kodem
- 12. Jak uniknąć łączenia zewnętrznego w starym stylu (+) w trybie hibernacji?
- 13. Matplotlib suptitle drukuje nad starym tytułem
- 14. Klasy w starym stylu, klasy nowego stylu i metaki
- 15. Dlaczego Meta Django jest klasą w starym stylu?
- 16. Python dziedziczenie typu starym stylu w nowej klasie stylu
- 17. Czy obiekt może być tworzony w starym pokoleniu?
- 18. Nie można odnaleźć ID ZAMÓWIENIA: API zwraca identyfikator zamówienia w starym formacie (?), A Portfel Google pokazuje tylko nowe.
- 19. Czy można używać stylu ActionBarSherlock na macierzystym TabWidget?
- 20. Uwierzytelnianie dla aplikacji API REST API Sinatra
- 21. Wikipedia API dla Pythona
- 22. derbyjs dla REST API
- 23. Gravatar API dla Java
- 24. geocoder API dla Javy
- 25. Twitter Api dla .NETApplications
- 26. Java API dla MongoDB
- 27. Doxygen dla wielojęzycznego API
- 28. Refleksja API dla Scala
- 29. FedEx api dla wysyłać
- 30. Brakujące interfejsy API Google dla poziomu interfejsu API API 25
miałem karty u dołu ekranu, Więc zrobiłem to jak poniżej ... kładę android: layout_marginBottom = "- 10dip" Wyjmowanie bottomStrip z ekranu ale chcesz znać dokładny sposób to zrobić ... dzięki –
amithgc