Android redibujar diseño de forma programática
Mi diseño a veces no posiciona correctamente los elementos. He probado un montón de soluciones, pero único trabajo uno es girar de retrato a paisaje y luego volver de paisaje a retrato. Entonces el diseño es rediseñado automáticamente y encaja perfectamente. Puse el teclado de orientación para que el contenido no se vuelva a cargar, sólo se vuelva a dibujar. ¿Cómo redibujar el contenido programmaticaly como paisaje-retrato hace? Gracias.
EDIT: He intentado seguir y no tiene efecto
- "Error al exportar la aplicación" en Eclipse 4.4.1 para Android con ADT 23.0.4
- Org.w3c.dom.Document a String sin javax.xml.transform
- Cómo buscar mediante programación la dirección IP externa de un dispositivo sin utilizar host externo?
- Protocolos de alto nivel para Bluetooth / WiFi Direct Sockets?
- Android con comunicación websocket (servidor Node Websocket y Android Java Client). No funciona en Android 4
getWindow().getDecorView().findViewById(android.R.id.content).invalidate(); getWindow().getDecorView().findViewById(android.R.id.content).requestLayout();
La actividad ha establecido el diseño principal en onCreate setContentView(R.layout.main);
Layout "main" contiene un TabHost y Admob. Layout "view" contiene una vista web ("id: myWebview") que se muestra en tab1.
¡Y también intentó invalidarlos! Vista web, diseño principal y vista de diseño y fallos
- No se puede usar FakeHttpLayer de Robolectric (NullPointerException al llamar a getFakeHttpLayer)
- Android Show Soft Keyboard cuando se inicia la primera actividad?
- Progreso intermedio no funciona con ActionBarSherlock ejecutándose en Gingerbread
- OR cláusula en firebase java android
- Error al usar StatusBarManagerService - java.lang.SecurityException en android.permission.STATUS_BAR_SERVICE
- ¿Cómo anotación @Inject sabría qué clase concreta instanciar en la misma interfaz?
- Android compara cartas especiales
- Cargar datos de clave pública del archivo
¿Intentaste invalidate()
la vista raíz ?
findViewById(android.R.id.content).invalidate();
Esto debería volver a dibujar todo el diseño.
Cuando cambia la orientación de la pantalla, Android recrea la actividad actual.
Intente llamar a medida (int, int) o requestLayout () . De lo contrario, no hay posibilidad de retransmitir programaticamente las vistas.
Llame al requestLayout () solo y lea Ver la descripción de la clase para más información.
Si esto es una práctica insegura o mala, por favor hágalo. He intentado todos estos métodos también y de la desesperación decidido apenas intentar llamar mi onCreate otra vez y trabajó. Así que por ahora voy a usar onCreate(null)
para actualizar mi vista cuando actualizo los datos. Una vez más, por favor, hágamelo saber si esto es inseguro o una mala práctica y si es posible una alternativa de trabajo.
- Comunicación de dispositivo a dispositivo en Android
- Reinicio condicional en Activity onConfigurationChanged