根据设备屏幕大小设置偏好方向 [Flutter],使用 setPreferredOrientations。

4

我希望只在小屏幕设备上设置纵向模式。目前我将所有东西都设置为纵向模式,如下所示:

Future main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
  runApp(MyApp());
}

如果屏幕宽度低于某个像素数(例如500px),我该如何设置仅限竖向方向?谢谢。
1个回答

5
你可以使用MediaQueryData.fromWindow来获取屏幕尺寸大小。你可以用它来获得屏幕宽度。
Future main() async {
  WidgetsFlutterBinding.ensureInitialized();
  final double screenWidth = MediaQueryData.fromWindow(WidgetsBinding.instance.window).size.width;
  if (screenWidth < 500) {
    await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
  }

  runApp(MyApp());
}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接