android - studio - ¿Ejecutar la aplicación solo en modo horizontal?
rotar pantalla tv box (5)
Quiero ejecutar una aplicación de ejemplo Hello World solo en modo horizontal en mi dispositivo.
Si el dispositivo cambia a vertical, me gustaría levantar una tostadora. Por ejemplo, "cambie al modo horizontal para ejecutar su aplicación".
¿Cómo debería hacer esto?
Puede ir por ambos programáticamente de la siguiente manera:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
O también en el archivo de manifiesto que puede dar aquí como
<activity android:name=".YourActivity" android:screenOrientation="landscape" android:configChanges="keyboardHidden|orientation"/>
Puede usar el configChanges
configChanges para la actividad para la que desea capturar el cambio de orientación de pantalla.
Después de eso, se onConfigurationChanged()-method en su actividad cuando cambie la orientación.
Para comprobar qué orientación se muestra actualmente, consulte esta publicación anterior: Verifique la orientación en el teléfono Android
Después de eso, puede mostrar su mensaje o hacer lo que quiera (por supuesto, también puede configurarlo para que se muestre solo en horizontal).
Puedes probar algo como esto
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
Log.v("log_tag", "display width is "+ width);
Log.v("log_tag", "display height is "+ height);
if(width<height){
Toast.makeText(getApplicationContext(),"Device is in portrait mode",Toast.LENGTH_LONG ).show();
} else {
Toast.makeText(getApplicationContext(),"Device is in landscape mode",Toast.LENGTH_LONG ).show();
}
agregue esto a su etiqueta de actividad en su archivo de manifiesto:
android:screenOrientation="landscape"
Fijará su orientación al modo horizontal y no necesita mostrar ningún brindis al usuario.
en su archivo de manifiesto (xml)
<activity android:name=".ActivityName" android:screenOrientation="landscape">
</activity>
consulte esto también ¿Es posible verificar si se llamó onCreate debido a un cambio de orientación?