Flutter禁止手机横屏的简单实现方法

 更新时间:2021年07月09日 11:23:39   作者:Becomin'''' Charles  
app默认是可以横屏的,如果需要禁止横屏话可以参考这篇文章,本文主要给大家介绍了关于Flutter禁止手机横屏的简单实现方法,需要的朋友可以参考下

在一些特定的 App 里,我们不希望手机横屏的时候,App 发生旋转,比如微信,企业微信都是这样的。

代码可以这样设定:

import 'package:flutter/services.dart';
void main() async => {
  WidgetsFlutterBinding.ensureInitialized();
  await SystemChrome.setPreferredOrientations(
    [
      DeviceOrientation.portraitUp,   // 竖屏 Portrait 模式
      DeviceOrientation.portraitDown, 
      // DeviceOrientation.landscapeLeft, // 横屏 Landscape 模式
      // DeviceOrientation.landscapeRight,
    ],
  );
  runApp(MainApp());
};

在 main 函数里,像上面那样设定,就可以做到全局禁用横屏模式了。

不过,在企业微信里,我发现,并不是彻底禁用了横屏模式,如果我在企业微信内部打开了一个网页,这种场景下,就是可以横屏过来用的。也就是,WebView 的场景下,我是可以横屏的,但是在其他界面下不可以横屏。这要怎么设置呢?

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

像这样,设置到一个 StatefulWidget 的 initState 和 dispose 里面就可以了。比如在我的代码里,我把 WebView 专门封装了一个页面,叫 WebPage,这样设定后,当用户进入网页的时候,可以横屏,但是退回后,就会强制恢复竖屏。

参考:http://kmanong.top/kmn/qxw/form/article?id=2735&cate=93

参考:https://stackoverflow.com/questions/49418332/flutter-how-to-prevent-device-orientation-changes-and-force-portrait

总结

到此这篇关于Flutter禁止手机横屏的文章就介绍到这了,更多相关Flutter禁止手机横屏内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Android实现多段颜色进度条效果

    Android实现多段颜色进度条效果

    这篇文章主要为大家详细介绍了Android实现多段颜色进度条效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Android 自定义ListView示例详解

    Android 自定义ListView示例详解

    本文主要介绍Android 自定义ListView的知识,这里整理了相关资料及实现示例代码,和实现效果图,有兴趣的小伙伴可以参考下
    2016-09-09
  • Flutter开发之Widget自定义总结

    Flutter开发之Widget自定义总结

    这篇文章主要给大家介绍了关于Flutter开发中Widget自定义的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Flutter具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • Android仿微信和QQ多图合并框架(类似群头像)的实现方法

    Android仿微信和QQ多图合并框架(类似群头像)的实现方法

    这篇文章主要给大家介绍了关于Android仿微信和QQ多图合并框架的相关资料,其实就是我们平时所见的群聊头像,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • Android编程之线性布局LinearLayout实例简析

    Android编程之线性布局LinearLayout实例简析

    这篇文章主要介绍了Android编程之线性布局LinearLayout用法,结合实例形式简单分析了Android线性布局的使用技巧,需要的朋友可以参考下
    2016-01-01
  • Android数据存储几种方式讲解

    Android数据存储几种方式讲解

    在开发过程中,数据存取是较为频繁的,今天我们来了解下android几种常见的数据存取方式。在Android中,sharePreferences是一种轻量级的数据存储方式,采用键值对的存储方式,存储少量数据,支持基本类型的简单数据存储
    2022-12-12
  • Android编程设计模式之模板方法模式详解

    Android编程设计模式之模板方法模式详解

    这篇文章主要介绍了Android编程设计模式之模板方法模式,结合实例形式详细分析了Android模板方法模式的概念、功能、使用场景、用法及相关操作注意事项,需要的朋友可以参考下
    2017-12-12
  • Android通过滑动实现Activity跳转(手势识别器应用)

    Android通过滑动实现Activity跳转(手势识别器应用)

    这篇文章主要为大家详细介绍了Android通过滑动实现Activity跳转,,讲解手势识别器应用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Android车载多媒体开发MediaSession框架示例详解

    Android车载多媒体开发MediaSession框架示例详解

    这篇文章主要为大家介绍了Android车载多媒体开发MediaSession框架示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Android通过LIstView显示文件列表的两种方法介绍

    Android通过LIstView显示文件列表的两种方法介绍

    过ListView显示SD卡中的文件列表一共有两种方法,一是:通过继承ListActivity显示;二是:利用BaseAdapter显示,具体实现如下,感兴趣的朋友可以参考下哈
    2013-06-06

最新评论