繁体   English   中英

如何通过PX在DP中设置高度和宽度

[英]How to set height and width in DP from PX

我正在开发可在android手机(而非平板电脑)上广泛运行的android应用程序。 现在,设计师给了我设计的PSD文件,并要求我根据它设置元素的大小。

现在在这些文件中,例如,一个元素的高度和宽度为90px,我应该在我的android XML布局文件中设置多少DP?

更多信息我正在为ldpi,mdpi,hdpi和xdpi创建单个布局。 我尝试了http://angrytools.com/android/pixelcalc/进行计算,

但是如果我选择90PX,则它对于ld,md,hd和xd会显示不同的DP大小。 如何在可以在各种设备上运行的单个布局文件中设置DP大小?

请给我建议,问候,Bhavin。

但是如果我选择90PX,则它对于ld,md,hd和xd会显示不同的DP大小。 如何在可以在各种设备上运行的单个布局文件中设置DP大小?

=>供您参考,DP代表密度独立像素,这就是PX和DP之间的区别所在。

因此,如果您确实想提供与所有分辨率/密度的兼容性,则必须在其他values目录下的其他dimens.xml声明dp值。

与密度无关的像素等效于160 dpi屏幕上的一个物理像素和240 dpi屏幕上的1.5物理像素。 可以使用px = dp * (dpi / 160)来计算。

声明密度值的比率为:xhdpi:2.0,hdpi:1.5,mdpi:1.0(基线),ldpi:0.75

标准做法:

标准做法是在不同值目录下的不同dimens.xml中声明dp值(在所有值目录中具有相同名称),并在需要时引用特定尺寸值。 基于密度值,Android系统将决定使用特定的密度值(我的dp值应取自特定的dimens.xml文件)。

例如:

values/
    dimens.xml
values-land/
    dimens.xml
values-xlarge-land
    dimens.xml
values-large
    dimens.xml

您可以通过以下链接将dp转换为pix。

http://labs.rampinteractive.co.uk/android_dp_px_calculator/

(要么)

您可以根据设备密度计算像素。 LDPI-0.75 MDPI-1.0 HDPI-1.5 XHDPI- 2.0

您可以保留单个layout.xml并为不同的设备创建多个值目录(具有不同的尺寸值)。

一种方法是为不同的设备创建单个layout.xml和多个值目录。

另一种方法是DP,因为您知道密度无关像素,因此要使用DP根据一个屏幕分辨率HDPI,XHPDI,LDPI,MDPI等推荐(HDPI)计算像素的DP值 。如果您有一个psd,请询问您的UI设计师哪个屏幕类型是基于该屏幕类型的,该屏幕类型用于计算Angrytools的DP帮助并在布局中使用该DP。由于Dp在各种设备上也不完全准确 ,有时需要进行一些调整,当时使用Value目录

谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM