设计师给了我PSD
文件,他为1080X1920 resolution
创建了文件
他在PSD中定义header
高度应为52px
,Slider
高度应为350px
,依此类推。
在布局中,当我写layout_height=350dp
时,它占据了很高的高度,并且覆盖了屏幕的一半以上。
我正在使用默认布局来完成此任务。
请指导我如何相对于Height
在DP
的布局中定义PX
最佳答案
似乎缺少设计师-开发人员流程。您获得的设计不适用于移动设备(Android或iOS)。我建议您看一下几个工具,以实现良好的工作流程。
Sketch
Zeplin
并且请阅读这篇文章:
Designer's guide to DPI
在Android中,您需要使用dps进行工作,并且需要以dps进行设计。如果您获得以像素为单位的设计,则必须与设计者达成一致,即1px等于1dp,换句话说,设计者基于MDPI进行工作,其中1dp等于1dp。
因此,最简单的方法是设计人员需要在360x640像素而不是1080x1920的屏幕上工作。现在您可以省去将像素转换为dps的麻烦了,因为1px对您来说就是1dp。对于您的设计师而言,也将变得更加容易,因为他需要从guidelines转到设计工具,并且不再需要将dps转换为像素。每次他在准则(which is everywhere)中读取48 dps时,他都知道必须在设计工具的360x640画布中将其读取为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布局。