Flutter控制屏幕旋转

Posted ckang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter控制屏幕旋转相关的知识,希望对你有一定的参考价值。

特定页面旋转屏幕很简单:

SystemChrome.setPreferredOrientations([
  ...
]);

数组中是您要支持的屏幕方向.

如果想在特定页面固定横屏, 您可以这样写:

@override
void initState() {
  super.initState();
  SystemChrome.setPreferredOrientations([
    DeviceOrientation.landscapeRight,
    DeviceOrientation.landscapeRight,
  ]);
}

并且在dispose时更改回竖屏

@override
void dispose() {
  SystemChrome.setPreferredOrientations([
    DeviceOrientation.portraitUp,
  ]);
  super.dispose();
}

但是!!! 不要走开 本文重点在下面

android设备上, 调用此方法可以强制改变屏幕方向. 但在ios上却不是这样 https://www.wandouip.com/t5i70011/

 

●隐藏状态栏:引入‘package:flutter/services.dart‘,  

SystemChrome.setEnabledSystemUIOverlays([]); //隐藏

SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);//恢复



以上是关于Flutter控制屏幕旋转的主要内容,如果未能解决你的问题,请参考以下文章

在我旋转屏幕之前,LiveData 不会加载到片段中

Android - 片段屏幕旋转[重复]

屏幕旋转后Android片段重叠

Flutter 真正可以监听屏幕旋转的插件

Android 片段不保存状态,在旋转/屏幕锁定/返回时崩溃

在recyclerview片段Reandroid中屏幕旋转后进度条不显示