首页 > 解决方案 > 多屏UI设计实现

问题描述

我过去 6 个月从事 android 开发,最近从客户那里得到了一个设计。我实现了设计,他说这与设计师所做的不完全一样。然后他又给了我以下规格的设计

在此处输入图像描述

我的问题是 - 像他给出的那样添加间距是否正确

请纠正我是我错了还是他错了

标签: androidandroid-studioandroid-layout

解决方案


您应该考虑 3 件事:

  1. Px - dp 比例: 阅读此答案:https ://stackoverflow.com/a/2025541/5884956 (实际上整个帖子很有用)

  2. Percentage 对您不起作用: 您通过使用dp而不是改进的px是,对于具有相同 aspect ratio和不同的屏幕pixel density,布局看起来完全相同(dp 密度独立像素)。这意味着屏幕的所有内容都将具有相同的比例(按钮、图像视图、边距……等)。然后,你会想象所有的安卓手机都具有相同的纵横比(例如 16:9)。这意味着对于每 16dp个高点,他们有 9 个dp的宽度,或者换句话说,如果您将手机的高度除以手机的宽度,您将获得与 16/8 相同的解决方案。但这与现实相去甚远。最常见的是 16:9,但某些手机(如“Samsung Galaxy S8”)有 18,5:9 并且有更多的纵横比:https ://material.io/tools/devices/ 。如果你使用 %,当你以不同的纵横比看到你的设计时,你的项目看起来会被拉伸。这不是我们想要的。

  3. 大小确实很重要 到这个时候,您应该确信这dp是最好的解决方案,如果不是,请有人改进我的答案。Buuuuuut,随着屏幕大小的不同,数量dp也有所不同。所以对于更大尺寸的手机(即使是相同的纵横比),我们有更多的 dp。然后你应该知道某些部分将被拉伸(它应该是项目和边距之间的空间)。

理想情况下(Android Studio 应该为您完成所有这些工作)使用相同aspect ratio% of dp应该是衡量标准,并且在更改纵横比时,这种更改必须反映在视图之间的空间中。但这是一项艰苦的工作。

TL;博士

  • 选择设计人员将用于设计的标准设备(使用通用设备)。
  • 告诉他们每个设备的设计看起来并不完全相同(除非您为每个设备设计不同的布局)。
  • 他们需要决定设计的哪些部分将被拉伸(请拉伸空间和边距,而不是按钮或图像)。
  • 让他们使用px,他们可能会感觉更舒服(同时您必须将其转换为dp并使用dp)。此外,如果您选择“mdpi”设备dp= px.
  • 查看允许您更好地使用这种设计的布局(我对 ConstraintLayouts 感觉很舒服,但通过工作您会发现这并不适合所有情况),但这取决于您。

额外的信息

https://developer.android.com/training/multiscreen/screensizes


推荐阅读