Flutter中如何强制某个页面横屏

2023-10-26

在很多文章中,提到了Flutter中强制某个页面横屏使用如下代码

SystemChrome.setPreferredOrientations([
    DeviceOrientation.portraitUp,
    DeviceOrientation.portraitDown
  ]);
复制代码

然而在实际操作过程中,这样的代码在Android上是可以达到效果的,然而iOS中并不能达到预期的目标,需要手动旋转手机。

原因可能在于iOS中对应的代码仅仅是限定了当前屏幕的可用方向。但是当手机没有旋转的时候,屏幕会一直保持在当前的方向上,所以这行代码实际上并不好用。

很遗憾,有很多开发者进行了反馈,然而官方目前为止并没有修复这个BUG

SystemChrome.setPreferredOrientations does not force the device to the given orientations until the device is physically rotated #13238

难道真的没有解决办法么?其实有,iOS可以用原生的方式进行旋转,可是这样太不讲究了(出现了,讲究怪!)

pub上有这样一个package

orientation

使用方法很简单,一行代码就可以解决问题

    OrientationPlugin.forceOrientation(DeviceOrientation.landscapeLeft);
复制代码

其中,forceOrientation中的参数为你希望的设备方向

enum DeviceOrientation {
  portraitUp,
  landscapeLeft,
  portraitDown,
  landscapeRight,
}
复制代码

终于可以愉快的进行下去了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flutter中如何强制某个页面横屏 的相关文章

  • Flutter(一)之Flutter的的简单入门分析

    前言 Flutter诞生于2018年 谷歌出品 应该是属于最新的移动跨平台开发框架了 从React Native自身框架的一些问题导致的用户量降低后 有很多小伙伴便转战Flutter战场 Flutter作为最新的跨移动平台开发框架 自然是汲
  • 防止运营商劫持apk

    title 防止运营商劫持apk tags https upyun apk 运营商 劫持 categories 工作日志 date 2017 05 25 18 18 56 目前f6部分系统使用了upyun的服务 包含apk的下载和静态资源等
  • Kotlin如何提供与Java的100%互操作性?

    Kotlin与Java可以100 互操作 当您在每篇博客文章 社区话题或YouTube上首次搜索有关Kotlin的信息时 如果该话题是关于Kotlin的 那么这个词肯定在每个人的名单上都表明Kotlin可与Java 100 互操作 让我们看
  • 11个优秀的Android开发开源项目

    一 一个类似微信的时光轴效果 项目地址 https github com ljtyzhr TimeLine 二 安卓选择器类库 包括日期 时间 单项 双项选择器 城市地址选择器 项目地址 https github com gzu liyuj
  • 从微信授权登录到数据安全性的思考总结

    前置知识 微信授权登录过程和相关名词 access token code openid等 微信授权登录 大都是拉起微信授权页面 用户同意授权后 再跳到自己应用的绑定手机页面进行绑定手机的操作 绑定之后自动登录 会话就像不会过期一样 或者是过
  • 怎么删除win10系统的AdobeFlash

    随着移动端的趋势大流 HTML5应用场景更加的广泛 Flash逐渐走向没落 Flash短期时间并不会彻底消失掉 Adobe Flash FLASH不只是可以制作网页 还可以制作软件AIR 制作动画 制作游戏等等 现在最新版的软件改名为Ani
  • 惊呆了!女儿拿着小天才电话手表,问我Android启动流程!

    首先 new一个女儿 var mDdaughter new 女儿 6岁 漂亮可爱 健康乖巧 最喜欢玩小天才电话手表和她的爸爸 好了 女儿有了 有一天 女儿问我 爸爸爸爸 你说我玩的这个小天才电话手表怎么这么厉害 随便点一下这个小图片 这个应
  • 用BeanUtils类自动封装表单数据

    导入架包 commons beautils 1 8 0 jar commons logging jar Class
  • java.awt.Color类

    Color类概述 Color是用来封装颜色的 支持多种颜色空间 默认为RGB颜色空间 每个Color对象都有一个alpha通道 值为0到255 代表透明度 当alpha通道值为255时 表示完全不透明 当alpha通道值为0时 表示完全透明
  • 深入理解 Flutter 图片加载原理

    前言 随着Flutter稳定版本逐步迭代更新 京东APP内部的Flutter业务也日益增多 Flutter开发为我们提供了高效的开发环境 优秀的跨平台适配 丰富的功能组件及动画 接近原生的交互体验 但随之也带来了一些OOM问题 通过线上监控
  • 安装cmake过程出错:Error when bootstrapping CMake: Cannot find a C++ compiler that supports both C++11 and ...

    Error when bootstrapping CMake Cannot find a C compiler that supports both C 11 and the specified C flags 1 没有装gcc 和 g 2
  • Flutter websocket 实现消息推送

    没什么可说的 直接上代码吧 Flutter 中的消息管理工具 class MessageUtils static WebSocket webSocket static num id 0 static void connect Future
  • Flutter酷炫的路由动画效果

    现在Flutter的路由效果已经非常不错了 能满足大部分App的需求 但是谁不希望自己的App更酷更炫那 下面介绍几个酷炫的路由动画 其实路由动画的原理很简单 就是重写并继承PageRouterBuilder这个类里的transitions
  • iOS开发助手、ipa便捷上传工具!

    ipa上传助手Appuploader是一个iOS APP上架辅助助手 帮助开发者可以快速的申请iOS证书打包ipa文件上传到App Store审核 非常方便的iOS上架助手 提升上架效率 ipa上传助手Appuploader官网http w
  • web移动端布局的那些事儿

    原文地址 github com HuJiaoHJ bl web移动端布局范畴很广 其中比较基础的几个话题 移动端适配 1px border 基础布局 本文主要分享这三个话题 一 移动端适配 提起移动端适配 大家想到的肯定是rem flexi
  • Android进阶2之 阴影制作(Shadow)

    阴影制作 包括各种形状 矩形 圆形等等 以及文字等等都能设置阴影 阴影制作是什么原理呢 其实很简单 你需要设置阴影的东西被看作一个主层 然后在主层下面画一个阴影层 阴影制作涉及到一个重要函数 public void setShadowLay
  • android-smart-image-view源码分析,android性能优化推荐书

    三 源码分析 从github上clone该项目 可以看到整个项目的代码只包含7个Java源文件 同时 还可进行扩展 方便使用者根据实际图片的来源进行扩展 我们来看看Class逻辑图 上面有提到 SmartImageView继承自ImageV
  • 零基础入门 HTML 的 8 分钟极简教程

    在今天 前端工程师已经成为研发体系中的重要岗位之一 可是与此相对的是 极少大学的计算机专业愿意开设前端课 大部分前端工程师的知识 也都是在实践和工作中不断学习的 最近收到很多同学的后台留言 说希望多推出一些前端方向的教程 今天我们就带来一个
  • ios -Unity3D的EasyAR集成到已经有项目中。

    近期 在做AR这一块 用EasyAR集成到iOS端 由于现在到项目已经上线 下一版本要做一个AR功能 于是迫于需求需要 自己研究和翻阅读好多集成到资料 通过整理分出几个重要到模块 其中在这里指出Xcode9版本确实好坑 建议弃坑 该用稍微好
  • 【有奖调研】HarmonyOS新物种,鸿蒙流量新阵地——元服务邀你来答题!

    聊技术无话不谈 一起来吹吹元服务 畅聊你对元服务的想法 说不定 你就能撬动元服务的爆发增长 元服务 即原子化服务 是华为 轻量化 服务的新物种 可提供全新的服务和交互方式 让应用化繁为简 让服务触手可及 基于鸿蒙万能卡片 元服务可实现应用功

随机推荐

  • 类的公有类型(public)和私有类型(private)

    数据成员可以为公有 函数成员也可以为私有 如果数据成员为公有 那么在对象的作用域内的任何函数都可以通过对象名使用该数据成员 如果函数成员为公有 那么该函数成员只能被公有的函数通过对象名调用
  • python二元函数图像在线绘制_“绘图,让科学生动起来”:Python-matplotlib绘图(多元函数拟合-3D绘图专题)...

    作者简介 85后一名分析化学工作者及科学爱好者 深爱着北京的老北京人 爱好运动 科学 旅行 个人微信公众号 科学是什么东东 欢迎关注 搭建python matplotlib绘图平台的四个要素是什么 它们是 python软件主体 pip库管理
  • ReentrantLock 源码分析

    ReentrantLock简单使用demo如下 Lock lock new ReentrantLock lock lock try 业务逻辑 finally lock unlock 注 获取的锁代码要放到try块之外 防止获得锁代码异常 抛
  • Chrome开发者工具详解

    Chrome开发者工具详解 1 Elements Console Sources面板 Chrome开发者工具面板 面板上包含了Elements面板 Console面板 Sources面板 Network面板 Timeline面板 Profi
  • adb MacBook Pro上使用adb命令:Command not found或者每次使用前要source .bash_profile文件

    前言 adb MacBook Pro上使用adb命令报错 Command not found 或者每次使用前要source bash profile文件 一 解决问题1 在根路径配置 bash profile文件 如果没有 touch ba
  • python-面向对象基础-类属性&实例属性-构造&析构

    一 类的定义 class 类名 类体 class Person object pass 二 类中成员的定义 class Person object 属性 name tom age 18 height 180 方法 def eat self
  • C++堆和栈的区别和联系

    2017年09月16日 10 39 33 阅读数 1605 参考博客地址 http blog csdn net hairetz article details 4141043 http blog csdn net handsomesunsh
  • C#学习之ASP.NET概述

    ASP NET的应用 网络应用程序开发 学习ASP NET的优势 易学 设计人员和后台代码人员专注于自己的工作 原因 ASP NET将HTML页面代码和脚本代码分离 高效地创建大规模的网络应用程序 背景 自从互联网的出现 各种网络开发技术层
  • 关于ehcache使用rmi方式实现分布式缓存时遇到的问题

    业务场景 一个架构较老的系统 由于在正式环境中需要搭建集群环境 目前使用echcache来作为缓存 为了减少代码修改 使用了RMI方式来实现集群 使用了被动发现和注册的方式 配置如下
  • Ansible Lookup

    1 文件内容的读取 hosts all vars contents lookup file etc foo txt tasks debug msg the value of foo txt is contents Note 切记读取的是本地
  • 使用gpt绘制奥特曼

    public class Ultraman extends JPanel public void paint Graphics g Color silver new Color 192 192 192 画头 g setColor Color
  • C语言顺序表中删除值为x的元素

    要求时间复杂度为O n 空间复杂度为O 1 实现代码如下 删除线性表中为x的元素 void deleteX SqList L int x int k 0 for i 0 i
  • 全球及中国工业互联网产业运行态势与布局状况调研报告2022-2028年

    全球及中国工业互联网产业运行态势与布局状况调研报告2022 2028年 修订日期 2022年4月 出版单位 鸿晟信合研究院 对接人员 周文文 报告价格 纸质版6500元 电子版6800元 纸质 电子版7000元 有折扣 内容部分有删减 了解
  • 1、网络隧道技术

    网络隧道技术简介 隧道技术 Tunneling 是一类网络协议 它是一种数据包封装技术 它将原始IP包 其报头包含原始发送者和最终目的地 封装在另外一个数据包 称为封装的IP包 的数据净荷中进行传输 使用隧道的原因是在不兼容的网络上传输数据
  • CVE20190708复现

    一 实验环境 基于虚拟机运行 VMware 1 靶机 ip 192 168 8 2 测试机 192 168 8 3 将两个虚拟机设置于同一个网段中 a 在虚拟网络编辑器中 将VMnet0采用桥接模式 并桥接到网线网上 b 设置win7为动态
  • 动态规划浅析

    leetcode53 最大子序和 leetcode62 不同路径 leetcode300 最长递增子序列 动态规划要解决的都是一些问题的最优解 即从很多解决问题的方案中找到最优的一个 当我们在求一个问题最优解的时候 如果可以把这个问题分解成
  • npm install 错误 安装 chromedriver 失败的解决办法

    npm 安装 chromedriver 失败的解决办法 npm 安装 chromedriver 时 偶尔会出错 错误提示类似于 npm ERR chromedriver 2 35 0 install node install js 经分析发
  • cicd 07--构建前后端一体化自动化发布流程

    cicd 07 构建前后端一体化自动化发布流程 1 介绍 2 构建过程 2 1 功能说明 2 2 jenkins gitlab 配置 2 3 测试结果 3 注意事项 4 说明 1 介绍 cicd 04 构建自动化发布流程 介绍了一种通用的自
  • NLP扎实基础3:TF-IDF文本特征提取

    TF IDF简介 TF IDF使用流程 见上图 步骤如下 根据全部语料每个词对应的TF IDF值 每个句子对应全部语料的one hot编码 将TF IDF编码作为特征 Python代码 流程很简单 就不复现了 这里有两个使用的方式 第一种是
  • Flutter中如何强制某个页面横屏

    在很多文章中 提到了Flutter中强制某个页面横屏使用如下代码 SystemChrome setPreferredOrientations DeviceOrientation portraitUp DeviceOrientation po