【问题标题】:Does flutter take care of all screen sizes颤振是否照顾所有屏幕尺寸
【发布时间】:2018-10-04 17:41:54
【问题描述】:

我有一个应用创意,我想用 Flutter 或 React Native 开发它。我之所以选择 Flutter,是因为我想学习一门新语言(Dart),而且我知道它仍处于测试阶段,但我不需要在至少 2-3 个月内关心很多用户,因为我要先学习 dart,然后然后开发它。所以我的问题是

  1. 我是否必须像在 android 中一样处理不同的屏幕尺寸,还是 Flutter 会为我处理?

  2. 我是否必须像 android 那样处理 API 级别,还是由 Flutter 处理?谢谢。

【问题讨论】:

  • 只需将 MediaQuery 用于设备特定的布局/功能。
  • MediaQuery 可以为您提供更多信息,例如设备的当前方向、设备是否更喜欢在给定时间点播放动画等。
  • 我在这里 jaycoding.tech/tutorials/guides/... 写了一个基于第三方包的简单解决方案,因为我认为 MediaQuery 还不够。您可能想检查一下。

标签: flutter


【解决方案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;
    

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

    【讨论】:

      猜你喜欢
      • 2021-02-02
      • 2019-09-07
      • 1970-01-01
      • 2020-04-08
      • 2021-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多