Forzar modo vertical en una APP Android o iOS (vale para React Native, Flutter, Kotlin y Java)

Tiempo de lectura: < 1 minuto

Para asegurarte de que tu aplicación solo se muestre en modo vertical, puedes configurar la orientación de la pantalla tanto en Android como en iOS.

Android

  1. Abre el archivo AndroidManifest.xml que se encuentra en android/app/src/main/AndroidManifest.xml.
  2. Dentro de la etiqueta <activity>, agrega el atributo android:screenOrientation="portrait":
   <activity
       android:name=".MainActivity"
       android:launchMode="singleTop"
       android:theme="@style/LaunchTheme"
       android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
       android:hardwareAccelerated="true"
       android:windowSoftInputMode="adjustResize"
       android:screenOrientation="portrait"> <!-- Esta línea fija la orientación en vertical -->
       <meta-data
           android:name="io.flutter.embedding.android.NormalTheme"
           android:resource="@style/NormalTheme"
           />
       <intent-filter>
           <action android:name="android.intent.action.MAIN"/>
           <category android:name="android.intent.category.LAUNCHER"/>
       </intent-filter>
   </activity>

iOS

  1. Abre el archivo Info.plist que se encuentra en ios/Runner/Info.plist.
  2. Agrega las siguientes líneas dentro de la etiqueta <dict>:
   <key>UISupportedInterfaceOrientations</key>
   <array>
       <string>UIInterfaceOrientationPortrait</string>
       <string>UIInterfaceOrientationPortraitUpsideDown</string>
   </array>
   <key>UISupportedInterfaceOrientations~ipad</key>
   <array>
       <string>UIInterfaceOrientationPortrait</string>
       <string>UIInterfaceOrientationPortraitUpsideDown</string>
   </array>

Código Dart para Flutter (opcional)

Si deseas hacerlo directamente desde el código Dart, puedes usar el paquete flutter/services.dart:

  1. Agrega la importación al archivo main.dart:
   import 'package:flutter/services.dart';
  1. Establece la orientación en el método main:
   void main() {
     WidgetsFlutterBinding.ensureInitialized();
     SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]).then((_) {
       runApp(MyApp());
     });
   }

Con estas configuraciones, tu aplicación solo se mostrará en modo vertical tanto en dispositivos Android como iOS.

Deja un comentario