颤振是不是照顾所有屏幕尺寸

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 获取窗口的实时大小。 使用FlexibleExpanded 小部件获得灵活的用户界面 使用百分比而不是硬编码值。 使用LayoutBuilder 获取父窗口小部件的ConstraintBox。 您可以使用MediaQueryOrientationBuilder

来自这个article

【讨论】:

查看你提供的网址,无效。【参考方案3】:

是的,你必须根据屏幕大小调整UI的大小,你可以使用。

MediaQueryData media = MediaQuery.of(context);
var size = media.size;

这将为您提供设备的屏幕尺寸。

【讨论】:

以上是关于颤振是不是照顾所有屏幕尺寸的主要内容,如果未能解决你的问题,请参考以下文章

如何根据屏幕尺寸调整颤振小部件的大小?

Android官方开发文档Training系列课程中文版:多样屏幕之支持不同的屏幕尺寸

所有 iOS 屏幕尺寸的启动屏幕图像尺寸

根据屏幕尺寸执行布局

如何让网站适应不同尺寸的手机屏幕?

所有iOS 设备的屏幕尺寸