1.Flutter 设置
在 main 函数 加载app前添加以下代码
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown,
])
添加后的结果
void main() async {
WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
// 在此处添加代码
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown,
]);
runApp(App());
}
*上面的代码 可以应对很多情况,但是在ipad 中 可能会失效。android pad 没问题。 为了避免出现问题可以在adnroid、ios 系统层面设置
Android - app-> main- > src -> AndroidManifest.xml
在activity 标签中增加
android:screenOrientation="portrait"
添加后的样子
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:windowSoftInputMode="adjustResize">
.......
Ios - Runner -> Info.plist
Iphone: 在 <key>UISupportedInterfaceOrientations</key> 标签中增加
<array>
<!-- <string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string> -->
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
如果已经存在 你要注释掉 左右 标签。
Ipad <key>UISupportedInterfaceOrientations~ipad</key> 此标签 是设置ipad 屏幕转向的
<array>
<!-- <string>UIInterfaceOrientationPortrait</string> -->
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<!-- <string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string> -->
</array>
以上标签,没有的添加上 已经存在的 进行修改即可。
最终样子:
<key>UISupportedInterfaceOrientations</key>
<array>
<!-- <string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string> -->
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<!-- <string>UIInterfaceOrientationPortrait</string> -->
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<!-- <string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string> -->
</array>