Ограничение ориентации приложения флаттера - PullRequest
0 голосов
/ 29 октября 2019

Как я могу ограничить ориентацию приложения на флаттер?

SystemChrome.setPreferredOrientations([DeviceOrientation.portraitDown])

Я пробовал этот код, но он не работает.

Ответы [ 2 ]

0 голосов
/ 30 октября 2019

Для Android вы можете определить ориентацию в вашем AndroidManifest.xml, используя свойство android:screenOrientation

 <activity
            android:name=".MainActivity"
            android:launchMode="singleTop"
            android:screenOrientation="portrait"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
0 голосов
/ 29 октября 2019

То, что вы пробовали, на самом деле работает. Однако, это не форсирование ориентации, это просто предпочтение этого. Это означает, например, что если вы попытаетесь установить ориентацию на альбомную с помощью

SystemChrome.setPreferredOrientations([DeviceOrientation.landscape])

Флаттер не будет поворачивать ориентацию, но если вы поворачиваете устройство из портретной в альбомную, ориентация приложения будетзаблокирован в альбомной ориентации.

Если вы хотите, чтобы Flutter программно поворачивал ориентацию, принудительно вместо , предпочитая , рассмотрите возможность использования пакета auto_orientation ,

После импорта пакета вы можете использовать AutoOrientation.landscapeAutoMode();, чтобы зафиксировать ориентацию в альбомной ориентации.

...