限制 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">
如何在 flutter 上限制应用的方向?
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitDown])
我试过这段代码,但没有成功。
实际上,您尝试的方法有效。然而,它并不是强制方向,它只是偏向方向。这意味着,例如,如果您尝试使用
将方向设置为横向SystemChrome.setPreferredOrientations([DeviceOrientation.landscape])
Flutter 不会旋转方向,但如果您将设备从纵向旋转到横向,则应用方向将锁定为横向。
如果您希望 Flutter 以编程方式旋转方向,强制而不是首选,请考虑使用 auto_orientation package .
导入包后,您可以使用AutoOrientation.landscapeAutoMode();
将方向锁定为横向。
对于 android,您可以使用 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">