我已经用Photoshop做好了最终的应用程序设计,其中所有尺寸都以PX为单位。
现在我意识到Android应用程序使用DP来设置字体大小和其他一些东西。
有没有办法将PX转换为DP?
我已经用Photoshop做好了最终的应用程序设计,其中所有尺寸都以PX为单位。
现在我意识到Android应用程序使用DP来设置字体大小和其他一些东西。
有没有办法将PX转换为DP?
在更实际的方面,你有几种增加工作和保真度的选择:
将资源缩放到每英寸160个点,把它们放在res/drawable
目录中,让操作系统将它们缩放以在设备上正常显示。
制作两份资源的副本:一份是每英寸160个点的,在res/drawable
目录中;另一份是每英寸240个点的,在res/drawable-hdpi
目录中。让操作系统从一个相当接近的数开始为确切的设备进行缩放。
决定不要任何缩放并使用原始像素,所以将你的资产放在res/drawable-nodpi
目录中。这意味着在320x480(像素)图形可能在一个手机上是2英寸x 3英寸,而在另一个屏幕上只有1 1/3英寸x 2英寸。
使用draw9patch
工具指定你的工作的确切缩放策略。这对于防止盒子的角从缩放中变得“锯齿状”以及使全屏图形应对不同的纵横比非常有用。
为你关心的每个设备制作单独的图形,并为其余设备使用可缩放的图形。你需要甩开挥舞着样式指南试图说服你不要这样做的狂热者。
哦,还有一个小坑,使用sp
代替dp
或pt
来指定你的字体。例如,一个10点字体将是22sp字体[= 10 *(160/72)或=点数乘以2.222]。sp
单位会随用户对小号、中号或大号字体的偏好而进行调整。
100dp
时(因为它将被动态呈现),这一切都很好,但当您必须有固定大小的图像时,就会出现问题。drawable-ldpi
目录中(或对于高密度屏幕,则为drawable-hdpi
)。
简而言之,您无法实际上“从PX转换为DP”(因为比率不固定),但您可以使用资源目录限定符创建多个版本的图像,并告诉Android要使用哪个版本。像素是PX,而DP或DIP是设备无关像素。我认为你不需要转换它们。但是你可以使用可缩放的9patch图像,使用Android工具中的draw9patch
工具。
我曾经遇到同样的问题,但现在已经找到了解决方案。
为什么不使用在线转换器来查看不同分辨率的Android设备所需的dp或px呢?
请参考此链接:this link,它对我很有帮助,也会对你有所帮助。
享受编程的乐趣吧。
sp
(可缩放独立像素)。这基本上与dp
相同,但根据用户的字体大小偏好进行缩放(有关更多信息,请参见上面列出的尺寸单位列表)。 - Donut