【问题标题】:How do native apps pull off being "responsive"? [closed]原生应用程序如何实现“响应式”? [关闭]
【发布时间】:2016-03-01 02:38:33
【问题描述】:

作为一个不太熟悉原生移动应用程序基础而不是响应式网站的人,我正试图围绕一些看起来应该相当基本的东西的机制。然而,在这里搜索和老旧的 Google 却让我两手空空。

当然,响应式网站依靠媒体查询和断点来确定它们应如何以及在何处显示浏览器中的元素和内容。结果是用户在几乎任何设备上都能获得相同的体验。但最终结果也是本机应用程序所完成的,不是吗?如果用户在两部不同的 Android 或 iOS 手机上拥有相同的应用程序,则 UI 的呈现(大部分)一致。显然,他们没有使用浏览器。 应用开发者是否使用类似于媒体查询的东西?原生应用如何知道在具有多种不同分辨率的多种设备上以哪种方式显示 UI?

【问题讨论】:

    标签: android ios mobile mobile-application


    【解决方案1】:

    我不确定 ios,但在 android 中,我们使用某种“选择器”。选择器是不同的文件夹,对应手机的分辨率或手机的版本,包含相同的变量,但取值不同。

    为了说明,我们可能有一个名为 drawable-mdpi 的文件夹和另一个名为 drawable-hdpi 的文件夹。两个文件夹都包含一个名为home.png 的图像文件,home.png 的尺寸因每个文件夹而异。 android 所做的是根据您使用的手机自动选择(在幕后)要使用的文件夹。如果你想使用home.png,你不必担心选择哪个文件夹,因为android会为你做,你只需要参考@drawable/home使用图像本身。更详细的解释是here

    版本 3.2 中出现了另一种方法,可以更好地管理维度。它涉及检查手机的宽度以选择要使用的尺寸。你最好检查this blog

    【讨论】:

    • 在 iOS 中,所有关于 autolayouts 和用于制作自适应 UI 的大小类
    【解决方案2】:

    在 iOS 中,您通常在 Interface Builder 中使用 Autolayout 和 Constraints,但您也可以在代码中执行此操作。本质上,这些让您可以设置规则,将事物保持在正确的位置“相对”/您的应用程序的框架。

    当我最近开始阅读这两篇很棒的文章时,它们很有帮助: - http://www.raywenderlich.com/115440/auto-layout-tutorial-in-ios-9-part-1-getting-started-2 - http://www.raywenderlich.com/115444/auto-layout-tutorial-in-ios-9-part-2-constraints

    【讨论】:

      猜你喜欢
      • 2021-02-05
      • 1970-01-01
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      • 2017-05-23
      • 2015-01-19
      • 2011-07-09
      • 1970-01-01
      相关资源
      最近更新 更多