¿Quiero que mi aplicación Android sólo se ejecute en modo retrato?

¿Quiero que mi aplicación Android sólo se ejecute en modo retrato? ¿Cómo puedo hacer eso?

En el manifiesto, establezca esto para todas sus actividades:

<activity android:name=".YourActivity" android:configChanges="orientation" android:screenOrientation="portrait"/> 

Dejame explicar:

  • Con android:configChanges="orientation" le dices a Android que serás responsable de los cambios de orientación.
  • android:screenOrientation="portrait" ajusta el modo de orientación predeterminado.

En el archivo de manifiesto de Android, ponga el atributo para su <activity> que android:screenOrientation="portrait"

Hay dos maneras,

  1. Añadir android:screenOrientation="portrait" para cada Activity en Manifest File
  2. Añada this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); En cada archivo java.

Antiguo post lo sé. Con el fin de ejecutar su aplicación siempre en el modo de retrato incluso cuando la orientación puede ser o se intercambia etc (por ejemplo en las tabletas) he diseñado esta función que se utiliza para configurar el dispositivo en la orientación correcta sin la necesidad de saber cómo el retrato y el paisaje Las características se organizan en el dispositivo.

  private void initActivityScreenOrientPortrait() { // Avoid screen rotations (use the manifests android:screenOrientation setting) // Set this to nosensor or potrait // Set window fullscreen this.activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); DisplayMetrics metrics = new DisplayMetrics(); this.activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); // Test if it is VISUAL in portrait mode by simply checking it's size boolean bIsVisualPortrait = ( metrics.heightPixels >= metrics.widthPixels ); if( !bIsVisualPortrait ) { // Swap the orientation to match the VISUAL portrait mode if( this.activity.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT ) { this.activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } else { this.activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT ); } } else { this.activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR); } } 

¡Funciona de maravilla!

AVISO: Cambie this.activity actividad por su actividad o agréguela a la actividad principal y quite this.activity 😉

yo suelo

  android:screenOrientation="nosensor" 

Es útil si no desea soportar el modo vertical hacia arriba o hacia abajo.

En el manifiesto, establezca esto para todas sus actividades:

 <activity android:name=".YourActivity" android:configChanges="orientation" android:screenOrientation="portrait"/> 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.