我正在开发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之间的差异进入图片的位置.
因此,如果您真的想要提供所有分辨率/密度的兼容性,那么您必须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
标准做法是在不同的values目录下的不同dimens.xml中声明dp值(在所有值目录中具有相同的名称),并在需要的地方引用特定的维度值.根据密度值,Android系统将决定使用特定的密度值(我的意思是从特定dimens.xml
文件中获取dp值).
例如:
values/ dimens.xml values-land/ dimens.xml values-xlarge-land dimens.xml values-large dimens.xml