Cómo cambiar la orientación de bloqueo en Android?
Quiero crear una casilla de verificación en mi preferencia Actividad que permite al usuario cambiar el cambio de orientación.
En preguntas similares, las personas sólo escriben sobre el bloqueo de orientación completo (mediante la modificación del método onConfigurationChanged o la adición de configChanges en AndroidManifest.xml) o la imposición de la orientación (por setRequestedOrientation).
- Android YouTube api v3 - orientación
- OnConfigurationChanged no se llama en cualquier momento en android
- OpenFL toma la entrada del giroscopio del dispositivo
- Sistema de coordenadas del dispositivo Android Convert a sistema de coordenadas "usuario"
- Android: la vista previa de la cámara es lateral
¿Hay una manera de cambiar el bloqueo de orientación?
EDIT: He creado un método que establece la orientación preferida a uno de los tres estados: paisaje, retrato y sensor. Este método se utiliza junto con la orientación getResources().getConfiguration().orientation)
Y guardar la orientación recuperada en las preferencias. Luego, en la actividad que necesita bloquear la orientación, disparo este método con la orientación preferida de las preferencias.
private static void setActivityOrientation(Activity activity, int preferenceOrientation) { if (preferenceOrientation == Configuration.ORIENTATION_LANDSCAPE) { if( activity.getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){ // You need to check if your desired orientation isn't already set because setting orientation restarts your Activity which takes long activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } } else if (preferenceOrientation == Configuration.ORIENTATION_PORTRAIT) { if( activity.getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){ activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } } else { if( activity.getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_SENSOR){ activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); } } }
- Problema con la orientación personalizada de la imagen de Android
- IScroll no funciona en android a menos que realice un cambio de orientación y regrese
- Orientación de la pantalla de Android al sensor
- Android: diseño alternativo xml para el modo horizontal
- El diálogo no debe descartarse cuando cambia la orientación de la pantalla
- La mejor práctica para manejar el cambio de orientación: Android
- FragmentActivity con ViewPager: Crash en el cambio de orientación
- Android: notifyDataSetChanged () no actualizar listview después de cambiar la orientación
No entiendo cuál es el problema con el setRequestedOrientation.
El SCREEN_ORIENTATION_SENSOR se combinan con el paisaje o el retrato parecen lo que quieres, ¿no?
if(....) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); else if(....) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); else if(....) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
- Recortar imagen con detección de rostros en android
- Fragmentos anidados – IllegalStateException "No se puede realizar esta acción después de onSaveInstanceState"