Android 2.2 i.e API Nivel 8 tiene tabStripEnabled = "true" para TabWidget cómo lograr lo mismo en versiones anteriores de Android?tabStripEnabled para TabWidget en la API anterior
Respuesta
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) {}
}
¡¡¡¡Muchas gracias!!!! – Eby
Esto no funcionó para mí. Lo probé con un emulador 2.1 y 2.2. ¿Hay algo más que deba considerar al usar este truco? Se ejecutó correctamente el código basado en el SDK actual, pero el borde inferior para el TabWidget se mantuvo. – dannyroa
Esto funcionó perfecto, algunas cosas a tener en cuenta, crear una imagen transparente y ponerla en blanco. Hice un ligero cambio comentando: LinearLayout ll = (LinearLayout) tabHost.getChildAt (0); TabWidget tw = (TabWidget) ll.getChildAt (0); y reemplazando con TabWidget tw = tabHost.getTabWidget(); – Fred
me hizo tan:
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. estilo personalizado para TabWidget
- 2. TabWidget Altura
- 3. android: orientation = "vertical" no funciona para TabWidget
- 4. Android TabWidget in Light tema
- 5. No quiero iconos en mi TabWidget
- 6. Android tabHost y tabWidget icon issue
- 7. TabWidget color blanco en primer plano?
- 8. TabHost/TabWidget - Imagen de fondo de escala?
- 9. ¿Cómo doy estilo a un TabWidget en Ice Cream Sandwich?
- 10. Controlador de navegación Botón Atrás para ir a la pantalla anterior a la pantalla anterior
- 11. ¿Cómo borrar la lista anterior en UIWebview en iPhone?
- 12. Rieles: registro anterior y siguiente de la consulta anterior
- 13. MySql utilizando la sintaxis correcta para la cláusula anterior
- 14. Vista de calendario para Android GingerBread y anterior (API <11)
- 15. archivo de inclusión .php en la carpeta anterior
- 16. Volver a la revisión anterior en Bazar
- 17. ¿Cómo obtener la URL anterior en JavaScript?
- 18. cómo instalar la versión anterior en TestFlight
- 19. Volver a la página anterior
- 20. python sobrescribir la línea anterior
- 21. Cómo obtener la URL anterior en django
- 22. ! función anterior en javascript?
- 23. Ocultar una pestaña agregada previamente a Qt TabWidget
- 24. volver a la página anterior
- 25. pestañas de intención android tabwidget actualizar cada hit
- 26. Django solicitud para encontrar referencia anterior
- 27. Primero, el código: ¿la API api influye en la IU?
- 28. API para obtener cambios en la región de la pantalla?
- 29. api para mostrar la calculadora nativa en la aplicación iOS
- 30. Cómo ejecutar la aplicación en la versión anterior de Simulator
que había en las pestañas en la parte inferior de la pantalla, así que lo hice de la siguiente manera ... puse androide: layout_marginBottom = "- 10dip" mover el bottomStrip fuera de la pantalla pero quiero saber la forma exacta de hacerlo ... gracias –
amithgc