颤振是不是照顾所有屏幕尺寸
Posted
技术标签:
【中文标题】颤振是不是照顾所有屏幕尺寸【英文标题】:Does flutter take care of all screen sizes颤振是否照顾所有屏幕尺寸 【发布时间】:2018-10-04 17:41:54 【问题描述】:我有一个应用创意,我想用 Flutter 或 React Native 开发它。我之所以选择 Flutter,是因为我想学习一门新语言(Dart),而且我知道它仍处于测试阶段,但我不需要在至少 2-3 个月内关心很多用户,因为我要先学习 dart,然后然后开发它。所以我的问题是
我是否必须像在 android 中一样处理不同的屏幕尺寸,还是 Flutter 会为我处理?
我是否必须像 android 那样处理 API 级别,还是由 Flutter 处理?谢谢。
【问题讨论】:
只需将 MediaQuery 用于设备特定的布局/功能。 MediaQuery 可以为您提供更多信息,例如设备的当前方向、设备是否更喜欢在给定时间点播放动画等。 我在这里 jaycoding.tech/tutorials/guides/... 写了一个基于第三方包的简单解决方案,因为我认为 MediaQuery 还不够。您可能想检查一下。 【参考方案1】:我是否必须像在 android 中一样处理不同的屏幕尺寸,还是颤振为我处理?
与 Android 一样,Flutter 在调整其小部件大小时使用 DP 作为单位。所以像素密度没有影响。 另一方面,您仍然必须让您的应用“响应”。
Flutter 提供了一些有用的小部件。如AspectRatio
。
我是否必须像 android 那样处理 API 级别,还是 Flutter 会处理这些?谢谢。
通常,不会。有很多“低级api”的插件。
有时您可能需要一个尚未实施的方案。您需要使用Platform Channel
自己创建它。你可以找到帮助here
【讨论】:
【参考方案2】:这是一个迟到的答案,但我希望它会对某人有所帮助
在响应式 UI 中,我们不使用硬编码的尺寸值和 职位。 使用MediaQuery
获取窗口的实时大小。
使用Flexible
和Expanded
小部件获得灵活的用户界面
使用百分比而不是硬编码值。
使用LayoutBuilder
获取父窗口小部件的ConstraintBox
。
您可以使用MediaQuery
或
OrientationBuilder
。
来自这个article
【讨论】:
查看你提供的网址,无效。【参考方案3】:是的,你必须根据屏幕大小调整UI的大小,你可以使用。
MediaQueryData media = MediaQuery.of(context);
var size = media.size;
这将为您提供设备的屏幕尺寸。
【讨论】:
以上是关于颤振是不是照顾所有屏幕尺寸的主要内容,如果未能解决你的问题,请参考以下文章