设计师给了我一个 PSD
文件,他为 1080X1920 分辨率创建了它
在PSD中他定义header
高度应该是52px
,Slider
高度应该是350px
等等上..
在布局中,当我编写 layout_height=350dp
时,它占用了很多高度并覆盖了超过一半的屏幕。
我正在使用默认布局来完成此任务。
请指导我如何在 DP
中相对于 PX
定义布局中的 Height
最佳答案
看起来缺少设计师-开发人员流程。您获得的设计不适合移动设备(Android 和 iOS)。我建议您查看一些工具以获得良好的工作流程。
请阅读这篇文章:
在 Android 中您需要在 dps 中工作并且您需要在 dps 中给出设计。如果你得到的是像素设计,你必须与设计师达成协议(protocol),即 1px 等于 1dp,换句话说,设计师正在处理 MDPI。 1dp 等于 1dp 的基础。
因此,最简单的方法是您的设计师需要在 360x640 像素而不是 1080x1920 的屏幕上工作。现在你可以忘记将像素转换为 dps 和其他方式,因为 1px 对你来说就是 1dp。对于您的设计师来说也会更容易,因为他需要从 guidelines 开始到设计工具,他就不需要再将dps转化为像素了。每次他在指南中读取48 dps (which is everywhere)他知道他必须在设计工具的 360x640 Canvas 中将其读取为 48 像素。
注释
360x640 是 dps 中的常见屏幕尺寸(Galaxy S5、Nexus 5 和许多其他设备),因此如今被用作引用。请注意,您的设计师无法为每个设备的每个布局尺寸中的每个组件提供准确的尺寸。所以像工具栏高度(通常是 56dp)这样的东西很容易转换到每个设备,但是你在他的设计中调整的工具栏宽度(如果你按照我的建议是 360)对你来说完全没用,因为这取决于真实的设备。 Galaxy S5 和 Nexus 5 是 360,但 Nexus 4 是 384,而 nexus 6、6P 和 5X 大约是 413。... and actually there's much more!!
仅针对一种设备或一种屏幕尺寸进行设计过于简单且存在问题。请注意,您必须开发 responsive布局准备好 multiwindow .
关于android - Layout中如何将PX转DP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37231539/