Photoshop设计从px到dp

Dam*_*ark 11 android

我有一个最终的应用程序设计,我用Photoshop测量所有内容都是用PX测量的.现在我意识到Android应用程序正在使用DP进行字体大小和其他事情.

有什么方法可以将PX转换为DP吗?

Cha*_*iam 12

在更实际的说明中,您可以选择增加工作和保真度:

  1. 将您的资源缩放到每英寸160个点,将它们放在您的res/drawable目录中,然后让操作系统将它们缩放到设备上.

  2. 制作两份资源:一份是每英寸160点res/drawable,一份是每英寸240点,在您的res/drawable-hdpi目录中.让操作系统从非常接近的数字开始缩放确切的设备.

  3. 确定您不需要任何缩放并具有原始像素,因此请将您的资源放在res/drawable-nodpi目录中.这意味着在一台手机上320x480(像素)图形可能是2英寸×3英寸,而另一个手机上只有1 1/3英寸×2英寸.

  4. 使用该draw9patch工具为您的工作指定精确的缩放策略.这对于防止盒子的角落从缩放中获得"锯齿"以及使全屏幕图形处理不同的宽高比非常有用.

  5. 为您关注的每个设备制作单独的图形,然后依靠可扩展的图形.你需要超越狂热者挥动风格指南试图说服你不要这样做.

哦,作为一个问题,指定sp你的字体,而不是dp或pt.10点字体是22 sp字体[= 10*(160/72)或=点数乘以2.222]. sp单位与用户对小,中或大字体的偏好进行缩放.


Don*_*nut 5

从Android支持的维度单元列表中,这里是DP的描述:

密度无关像素 - 一种基于屏幕物理密度的抽象单元.这些单位相对于160 dpi的屏幕,因此一个dp是160 dpi屏幕上的一个像素.dp与像素的比率将随着屏幕密度而变化,但不一定是成正比的.注意:编译器接受"dip"和"dp",但"dp"与"sp"更一致.

这意味着像素和DP之间的"转换"将不一致 - 在某些设备上,比率可能是1DP = 160px,但理论上它可以是任何东西.当您将按钮的宽度设置为100dp(因为它将动态渲染)时,这一切都很好,但是当您拥有必须具有固定大小的图像时,它会出现问题.

阅读本页" 支持多个屏幕 " - Android有一个称为资源目录限定符的东西,它允许您创建图像资源的特定于大小和密度的版本.例如,对于低密度屏幕,您可以创建较小版本的图像并将其放在drawable-ldpi目录中(或drawable-hdpi用于高密度屏幕).


tl; dr您实际上无法"从PX转换为DP"(因为比率不固定),但您可以创建多个版本的图像并告诉Android哪些用于资源目录限定符.


key*_*fer 0

像素是 PX,DP 或 DIP 是与设备无关的像素。我认为您不需要转换这些。但是您可以使用draw9patchAndroid 工具中的工具来使用可扩展的 9patch 图像。