当前位置:   article > 正文

Flutter 强制横竖屏-SystemChrome_flutter 横竖屏切换

flutter 横竖屏切换

SystemChrome 控制操作系统图形界面的特定方面以及它如何与应用程序交互。需要注意的是在使用的时候一定要在入口main函数中保证先执行 WidgetsFlutterBinding.ensureInitialized();

  1. void main() {
  2. // debugProfileBuildsEnabled = true;
  3. // debugProfilePaintsEnabled = true;
  4. // debugPaintLayerBordersEnabled = true;
  5. WidgetsFlutterBinding.ensureInitialized(); //不加这个强制横/竖屏会报错
  6. SystemChrome.setPreferredOrientations([
  7. // 强制竖屏
  8. DeviceOrientation.portraitUp,
  9. DeviceOrientation.portraitDown
  10. ]);
  11. runApp(MaterialApp(home: AMapDemo()));
  12. }

setPreferredOrientations 设置横屏或坚屏
一般我们显示是要强制坚屏,只需要指定 DeviceOrientation.portraitUp 或者DeviceOrientation.portraitDown就够了,这样写即使是手机设置中没有打开方向锁定,也不用担心会倒过来。

在具体的某个页面控制横竖屏可以这么写:

  1. if (_landscapeScreen == true) {
  2. // 强制横屏
  3. SystemChrome.setPreferredOrientations(
  4. [DeviceOrientation.landscapeLeft, DeviceOrientation.landscapeRight]);
  5. } else {
  6. SystemChrome.setPreferredOrientations(
  7. [DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]);
  8. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/737212
推荐阅读
相关标签
  

闽ICP备14008679号