gratis - ¿Quiero que mi aplicación de Android solo se ejecute en modo retrato?
modo retrato apk android (6)
Antiguo post lo sé. Para ejecutar su aplicación siempre en modo retrato, incluso cuando la orientación puede ser o está intercambiada, etc. (por ejemplo, en tabletas) Diseñé esta función que se usa para configurar el dispositivo en la orientación correcta sin la necesidad de saber cómo funciona el retrato y el paisaje. Las características están organizadas 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 elimine esta this.activity
;-)
¿Quiero que mi aplicación de Android solo se ejecute en modo retrato? ¿Cómo puedo hacer eso?
En el archivo de manifiesto de Android, ponga el atributo para su <activity>
ese android:screenOrientation="portrait"
En el manifiesto, configura esto para todas tus 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"
establece el modo de orientación predeterminado.
En el manifiesto, configura esto para todas tus actividades:
<activity android:name=".YourActivity"
android:configChanges="orientation"
android:screenOrientation="portrait"/>
Hay dos maneras,
- Agregue
android:screenOrientation="portrait"
para cada actividad en el archivo de manifiesto - Agregue
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
en cada archivo java.
yo suelo
android:screenOrientation="nosensor"
Es útil si no desea admitir el modo vertical hacia abajo.