限制 flutter 应用程序的方向

Restricting the flutter app's orientation

如何在 flutter 上限制应用的方向?

SystemChrome.setPreferredOrientations([DeviceOrientation.portraitDown])

我试过这段代码,但没有成功。

实际上,您尝试的方法有效。然而,它并不是强制方向,它只是偏向方向。这意味着,例如,如果您尝试使用

将方向设置为横向
SystemChrome.setPreferredOrientations([DeviceOrientation.landscape])

Flutter 不会旋转方向,但如果您将设备从纵向旋转到横向,则应用方向将锁定为横向。

如果您希望 Flutter 以编程方式旋转方向,强制而不是首选,请考虑使用 auto_orientation package .

导入包后,您可以使用AutoOrientation.landscapeAutoMode();将方向锁定为横向。

对于 android,您可以使用 android:screenOrientation 属性

在 AndroidManifest.xml 中定义方向
 <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">