作为对本机移动应用程序基础不太熟悉而不是响应式网站的人,我试图围绕一些似乎应该是相当基本的东西的机制。然而,在这里搜索和好老谷歌让我空手而归。
当然,响应式网站依靠媒体查询和断点来确定它们在浏览器中显示元素和内容的方式和位置。结果是用户几乎可以在任何设备上获得相同的体验。但最终的结果也是原生应用程序的成就,不是吗?如果用户在两个不同的Android或iOS手机上拥有相同的应用程序,则会一致地呈现UI(大部分)。显然,他们没有使用浏览器。 应用开发者是否使用类似于媒体查询的内容?本机应用程序如何知道在具有许多不同分辨率的许多设备上显示UI的方式?
答案 0 :(得分:1)
我不确定ios,但在android中,我们使用某种"选择器"。选择器是不同的文件夹,对应于电话的分辨率或电话的版本,它包含相同的变量但具有不同的值。
为了说明,我们可能有一个名为drawable-mdpi
的文件夹和另一个名为drawable-hdpi
的文件夹。两个文件夹都包含名为home.png
的图像文件,home.png
的维度对于每个文件夹都不同。 android所做的是根据您使用的手机自动选择(在幕后)使用哪个文件夹。如果你想使用home.png
,你不必担心选择哪个文件夹,因为android为你做了,你只需要通过引用@drawable/home
来使用图像本身。更详细的解释是here
3.2版本还有另一种方法可以更好地管理尺寸。它涉及检查手机的宽度以选择要使用的尺寸。您最好查看this blog。
答案 1 :(得分:1)
在iOS中,您使用Autolayout和Constraints,通常在Interface Builder中,但您也可以在代码中执行。从本质上讲,这些可以让您设置规则,将事物保存在正确的位置,相对而言。彼此/您的应用程序的框架。
最近我开始使用这两篇很棒的文章很有帮助: - 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