Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo se bloquea la orientación de la aplicación (horizontal o vertical)?

He intentado congelar la orientación usando:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

Aunque la pantalla permanezca en orientación vertical, la actividad sigue siendo recreada. ¿Alguna idea de como resolver esto?

¿Cómo se puede bloquear la orientación de la aplicación de modo que la actividad no se recrea en el cambio de orientación?

  • SCREEN_ORIENTATION_REVERSE_PORTRAIT está correcto?
  • Obtener orientación del teléfono, pero fijar la orientación de la pantalla a
  • Cambiar la orientación de la pantalla en Android sin recargar la actividad
  • Asegúrese de que el búfer de vídeo se conserva después de cambios de orientación sin manipulación en Cambios de configuración manualmente
  • Cambio de pantalla de Android para todas las actividades
  • ¿Cómo cambio la orientación de la pantalla en el emulador de Android?
  • Actividad creada dos veces
  • Deshabilitar el modo horizontal para una aplicación completa
  • 4 Solutions collect form web for “¿Cómo se bloquea la orientación de la aplicación (horizontal o vertical)?”

    Primero, no use setRequestedOrientation() si puede evitarlo. Utilice el atributo android:screenOrientation en su elemento de manifiesto <activity> .

    En segundo lugar, también necesitará android:configChanges="keyboardHidden|orientation" en su elemento de manifiesto <activity> para evitar el ciclo de destruir / recrear.

    Un ejemplo más específico de la sección de actividades de AndroidManifest.xml para la orientación vertical:

      <activity android:name=".MainActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation|screenSize"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

    Donde android:screenOrientation establece la orientación inicial y android:configChanges anula los eventos que android:configChanges los métodos de ciclo de vida correspondientes en los cambios de pantalla.

    Prueba esto:

    1.- Establezca la orientación de la pantalla en su AndroidManifest.xml

     android:screenOrientation="portrait|landscape" 

    Debe tener un aspecto como este:

      <application android:allowBackup="true" android:icon="~icon path~" android:label="~name~" android:supportsRtl="true" android:screenOrientation="portrait" android:theme="@style/AppTheme"> </application> 

    2.- Añada esto a su onCreate void (o donde quiera) en su archivo de actividad java (Ejemplo: "MainActivity.java"):

     super.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED); 

    Debe tener un aspecto como este:

     protected void onCreate(Bundle savedInstanceState) { super.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED);} 

    Ahora la pantalla no se moverá aunque la rotación de pantalla esté activada en el dispositivo.

    La mejor solución es usar la instancia guardada. Si está bloqueando la orientación de la pantalla, significa que está forzando al usuario a usar la aplicación de acuerdo con las restricciones establecidas por usted. Así que siempre use onSaveInstanceState. Lea este enlace: http://developer.android.com/training/basics/activity-lifecycle/recreating.html

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.