Solo quiero establecer algunas banderas cuando mi orientación es horizontal para que cuando se recrea la actividad en onCreate () pueda alternar entre qué cargar en vertical frente a horizontal. Ya tengo un xml de layout-land que maneja mi diseño.
public void onConfigurationChanged(Configuration _newConfig) {
if (_newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
this.loadURLData = false;
}
if (_newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
this.loadURLData = true;
}
super.onConfigurationChanged(_newConfig);
}
Anular onConfigurationChanged evitará que mi diseño xml de la tierra se cargue en orientación horizontal.
Solo quiero obtener la orientación actual de mi dispositivo en onCreate (). ¿Cómo puedo conseguir esto?
java
android
configuration
orientation
Sheehan Alam
fuente
fuente
Cuando la superclase de
this
esContext
fuente
En algunos dispositivos
void onConfigurationChanged()
puede fallar. El usuario usará este código para obtener la orientación actual de la pantalla.Y use
fuente
esto dará toda la orientación como normal e inversa
y manejarlo como
fuente
final int angle = (rotation == Surface.ROTATION_90) ? 90 : (rotation == Surface.ROTATION_180) ? 180 : (rotation == Surface.ROTATION_270) ? 270 : 0;
Este comando devuelve el valor int 1 para Vertical y 2 para Horizontal
fuente
En caso de que a alguien le gustaría obtener una descripción de orientación significativa (como la que se le pasó a
onConfigurationChanged(..)
ellosreverseLandscape
,sensorLandscape
etc.), simplemente usegetRequestedOrientation()
fuente
En su clase de actividad utilice el siguiente método:
Luego, para declarar que su actividad maneja un cambio de configuración, edite el elemento apropiado en su archivo de manifiesto para incluir el
android:configChanges
atributo con un valor que represente la configuración que desea manejar. Los valores posibles se enumeran en la documentación delandroid:configChanges
atributo (los valores más utilizados son "orientación" para evitar reinicios cuando cambia la orientación de la pantalla y "keyboardHidden" para evitar reinicios cuando cambia la disponibilidad del teclado). Puede declarar múltiples valores de configuración en el atributo separándolos con una tubería | personaje.¡¡Eso es todo!!
fuente
si desea anular ese método onConfigurationChanged y aún así quiere que haga las cosas básicas, considere usar super.onConfigyrationChanged () como la primera instrucción en el método anulado.
fuente
Solo quiero proponer otra alternativa que les interese a algunos de ustedes:
implica que declaramos explícitamente el diseño a inyectar.
En caso de que queramos mantener la inyección automática gracias a las carpetas de diseño-tierra y diseño. Todo lo que tienes que hacer es agregarlo a onCreate:
Aquí, mostramos o no la barra de acción dependiendo de la orientación del teléfono
fuente