NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

微软公布 Flutter 最新进展:支持可折叠设备后续

  • 2022-03-03
  • 本文字数:1646 字

    阅读完需:约 5 分钟

微软公布 Flutter 最新进展:支持可折叠设备后续

2022 年 2 月 24 日,微软发布了关于支持用 Flutter 开发可折叠设备的更新公告。公告中公开了最新的开发进展,之前所打开的框架、引擎和 DisplayFeatureSubScreen 拉取请求,现在都已经整合进 Flutter 存储库,同时微软也发布新范例,供开发者尝鲜。

 

MediaQuery 现在具有 Display Features

 

微软提到,可折叠设备有许多类型,可能使用可弯曲或是可卷曲具弹性的显示器,开发者的应用程序可以在具有显示特征下(Display Feature)的显示器中,呈现更大的画面。

 

显示特征属于显示器的属性,这类信息在 Flutter 由 MediaQuery 提供。所谓的 Display Features,指的是在显示器中,可能无法使用或是受到屏蔽的区域,微软在 Flutter 添加三种显示特征,包括刘海型(Cutout)、合页型(Hinge)以及对折型(Fold)。而微软自家可折叠设备 Surface Duo 上的 Hinge 就是一个 display feature。

 

目前微软已经将支持可折叠设备的 MediaQuery 拉取请求,整合到 Flutter 的程序代码存储库中,这代表用户只要使用主要分支,就可以访问一个名为 displayFeatures 的属性,部分设备可以拥有多种 display features ,因此该属性会提供一个列表,这是列表中项目的结构:

 

class DisplayFeature {  final Rect bounds;  final DisplayFeatureType type;  final DisplayFeatureState state; }
复制代码

 

开发者也能以简单的方式,取得合页型可折叠设备的可用信息:

 

/// Extension method that helps with working with the hinge specifically.extension MediaQueryHinge on MediaQueryData {  DisplayFeature? get hinge {    for (final DisplayFeature e in displayFeatures) {      if (e.type == DisplayFeatureType.hinge)        return e;    }    return null;  }}
复制代码

 

DisplayFeatureSubScreen 也被合并

 

DisplayFeatureSubScreen 功能也已经被整合到 Flutter 主分支中,当用户想要在 Surface Duo 这类合页型可折叠设备的其中一个屏幕显示内容时,像是对话窗口,就可以选择使用 DisplayFeatureSubScreen 小工具。

 

这个小工具是对话窗口和交互窗口(Modal)的基础功能,并在“对话框和弹出窗口支持”PR 中大量使用。如果开发者的应用程序中有自定义的 modal routes,可能需要考虑使用此小部件 wrapping 它们。

 

class _MyRoute<T> extends PopupRoute<T> {  @override  Widget buildPage(...) {    return DisplayFeatureSubScreen(      child: _myPageLayout(),      anchorPoint: Offset.infinite,     );  }}
复制代码

 

目前微软在 Flutter 中提供可折叠设备的支持还未完成,除了正在接受审查的对话窗口和自订交互窗口路由拉取请求,TwoPane 工具的拉取请求也已经打开。

 

开发者可以复制微软的 Flutter 分叉,即可以使用全部这些新功能,包括使用 TwoPane,让新的对话窗口避开合页中间。官方提到,在他们新发布的范例中,展示了针对双屏幕设备的所有设计模式,以及对话窗口和合页角度的一些操作。



Surface Duo 模拟器中的 Flutter 双屏示例

 

除了双屏,开发者也可以通过范例,了解将这些设计模式,扩展到大屏幕的方法,也就是说,开发者能够在桌上计算机执行范例,并借由调整应用程序大小,来查看设计模式在不同场景的表现。

 

Flutter 和微软

 

在 Google 的大力推动下,Flutter 在过去几年中取得了长足的发展,目标是创建开发者梦想中的跨平台软件框架。Flutter 可为 Android、iOS、Linux、Windows、macOS 以及网页开发应用,所有这些都共享代码库和视觉设计。

 

而微软在支持双屏幕可折叠设备的开发也已经有两年的时间,去年 3 月,微软发布适用 Flutter 支持可折叠设备预览,要让开发人员可以使用 Flutter 在可折叠设备上开发应用程序。

 

在上个月,Flutter 2.10 稳定版正式发布,对构建 Windows 应用程序的支持首次达到稳定状态。结合本次最新的公告来看,微软目前能够衔接 Flutter 应用程序从原本移动设备的小屏幕,到可折叠设备屏幕,甚至是大屏幕的显示体验。

 

参考链接:

 

https://devblogs.microsoft.com/surface-duo/foldable-flutter-update/

2022-03-03 15:132494

评论

发布
暂无评论
发现更多内容

Apache APISIX 社区周报 | 2021 8.30-9.12

API7.ai 技术团队

Apache 开源 API网关 APISIX 社区周报

《鸿蒙理论知识03》HarmonyOS概述之系统安全

孙叫兽

鸿蒙 鸿蒙开发 鸿蒙系统 引航计划

Vue进阶(幺幺玖):element-ui table组件适应性问题(横向滚动条)

No Silver Bullet

Vue 9月日更

乘着汽车智能化的浪潮,“汽车人”职业方向的选择(一)

SOA开发者

软件 职业成长 汽车

模块3-作业

笑看风雨情

部门经理竞聘报告PPT模板-优页文档

momo

模板 优页文档 优页文档PPT模板

Opus从入门到精通(二):编解码器使用

轻口味

android 音视频 编解码 9月日更

《鸿蒙理论知识06》HarmonyOS概述之应用开发基础知识

孙叫兽

鸿蒙 HarmonyOS 鸿蒙系统 引航计划 领航计划

MapReduce 示例:减少 Hadoop MapReduce 中的侧连接

华为云开发者联盟

hadoop mapreduce 排序 侧连接 联接

简单聊聊汽车OTA给OEM和Tire1带来的变化

SOA开发者

程序员 职业成长 汽车

分布式系统中协调和复制技术的原理

博文视点Broadview

数据中心建设很复杂,但选择却能很简单:华为数据中心的多维创新

Canal Admin 高可用集群使用教程

Se7en

百度智慧输入,会是企业降本增效的“新生产力”吗?

ToB行业头条

百度 企业服务 百度输入法

【上汽零束SOA】云管端一体化SOA软件平台系列介绍之五:服务实现篇

SOA开发者平台

软件 车联网 物联网 汽车

Apollo 配置中心详细教程

牧小农

Apollo 阿波罗

《鸿蒙理论知识05》HarmonyOS概述之下载与安装软件

孙叫兽

鸿蒙 鸿蒙系统 引航计划

云原生时代,你真的懂Docker和LXC的区别吗?

行云创新

Docker 容器 微服务 云原生 LXC

3年才能驾驭新技术,不如试试这个低代码魔方

华为云开发者联盟

低代码 开发 华为云应用魔方 应用程序 魔方

netty系列之:在netty中处理CORS

程序那些事

Java Netty 程序那些事 响应式系统

北京大学医疗科技风论文答辩PPT模板-优页文档

momo

PT模板 优页文档

终于完成了私有NPM和PYPI repo的搭建

DisonTangor

npm nexus pypi

《鸿蒙理论知识04》HarmonyOS概述之系统定义

孙叫兽

鸿蒙 鸿蒙系统 引航计划

28分钟完成一款Python游戏,《客服戏翻总裁牌》

梦想橡皮擦

9月日更

架构实战课程 模块三作业

Frank

穿越时空,跟我一起探索云栖数字谷(2021云栖大会免费送票)

阿里云视频云

人工智能 云计算 阿里云 行业资讯 视频云

商务礼仪培训PPT模板-优页文档

momo

免费PPT模板 优页文档

【上汽零束SOA】云管端一体化SOA软件平台系列介绍之五:服务实现篇

SOA开发者

软件 SOA

如何将外连接向内连接转换?

华为云开发者联盟

sql 数仓 GaussDB(DWS) 外连接 内连接

Python——静态方法与类方法、类的导入

在即

9月日更

计划会议要开始了,产品负责人却没来…

华为云开发者联盟

Scrum PO 开发团队 计划会议 Sprint

微软公布 Flutter 最新进展:支持可折叠设备后续_大前端_闫园园_InfoQ精选文章