programacion - ¿Cómo bloquear la orientación de la aplicación de Android en el modo vertical?
manual de programacion android pdf (6)
Establezca la orientación de la pantalla en vertical en el archivo de Manifiesto debajo de la etiqueta de actividad.
Estoy desarrollando una aplicación de Android cuya orientación no quiero cambiar al modo horizontal cuando el usuario gira el dispositivo. Además, quiero que la orientación bloqueada sea el modo vertical en los teléfonos y el modo horizontal en las tabletas. ¿Se puede lograr esto? Si es así, ¿cómo? Gracias.
Podría ser ... tienes que identificar que es tableta o teléfono programáticamente ...
if(isTablet)
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}else
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
Veo que ha aceptado una respuesta que no resuelve su problema por completo:
android:screenOrientation="portrait"
Esto obligará a su aplicación a ser retrato en teléfonos y tabletas.
Puede forzar la aplicación en la orientación "preferida" del dispositivo mediante el uso
android:screenOrientation="nosensor"
Esto conducirá a forzar a su aplicación a retratar en la mayoría de los teléfonos teléfonos y paisaje en tabletas. Hay muchos teléfonos con teclados que fueron diseñados para modo paisaje. Forzar tu aplicación a retratos puede hacerla casi inutilizable en tales dispositivos. Android también migró recientemente a otros tipos de dispositivos. Lo mejor es dejar que el dispositivo elija la orientación que prefiera.
android:screenOrientation="portrait"
agregar la android:screenOrientation="portrait"
en su AndroidManifest.xml
. Esto debe hacerse en su etiqueta activity .
Además, la guía de Desarrolladores de Android establece que:
[...] también debe declarar explícitamente que su aplicación requiere una orientación vertical u horizontal con el elemento. Por ejemplo,
<uses-feature android:name="android.hardware.screen.portrait" />
.
Solo tiene que definir la propiedad a continuación dentro del elemento de activity en su archivo AndroidManifest.xml
. Restringirá tu orientación al retrato.
android: screenOrientation = "retrato"
Ejemplo:
<activity
android:name="com.example.demo_spinner.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
Además, según el comentario de Eduard Luca a continuación, también puedes usar screenOrientation="sensorPortrait"
si quieres habilitar la rotación 180 grados.
<activity android:name=".yourActivity"
android:screenOrientation="portrait" ... />
agregar a la actividad principal y agregar
android:configChanges="keyboardHidden"
para evitar que su programa cambie de modo cuando se llama al teclado.