2015-06-22 122 views
0

在android应用程序中,我们维护各种屏幕分辨率的dimen.xml。比方说,我使用设备X作为基础开发设备,并且定义了相对于设备X的dimen.xml。现在,如果我想知道对于不同密度设备将对应的dimen.xml是什么,那么可以在此处遵循哪些过程/策略? 例如: 如果我在dimen.xml中输入define margin_10 as 10dp。根据密度类型(hdpi,xhdpi,xxhdpi,xxxhdpi),margin_10对不同dimen.xml的值有多少? 谢谢在Android设备上确定各种屏幕尺寸的DP

+0

如果你使用dp,大多不需要为各种密度类型维护不同的维数。作为**密度无关像素**扩展的dp与设备密度无关,您可能不需要单独的值。只有在使用“像素”像素值时才推荐使用不同的值。 –

回答

0

由于您在dp单位中定义了尺寸,因此您无需担心为其他分辨率提供多种尺寸。

从显影剂文档:

一个DP是对应于一个像素的物理尺寸在160 dpi的密度独立像素。

密度无关像素相当于160 dpi屏幕上的一个物理像素,它是系统为“中等”密度屏幕假定的基准密度。在运行时,系统根据使用的屏幕的实际密度,根据需要透明地处理dp单位的任何缩放比例。将dp单位转换为屏幕像素很简单:px = dp *(dpi/160)。例如,在240 dpi屏幕上,1 dp等于1.5个物理像素。定义应用程序的用户界面时,应始终使用dp单位,以确保在不同密度的屏幕上正确显示您的用户界面。

这是它提供了各种密度

要生成图像的图像资源或位图,你应该在矢量格式的原始资源开始并用下面的大小规模为每一个密度图像:

  • xhdpi:2.0
  • HDPI:1.5
  • 个MDPI:1.0(基线)
  • LDPI:0.75

希望这有助于。

0
values folder containing dimens.xml file in which whatever screen size you 
    specified, it is consider as baseline as per google doc means 10dpx1 as per your question.. 
    now you set this size for different devices than procedure is like following.. create folder for different Screen Size 
    1) values->dimens.xml [default as per base line hdpi] 10dp x 1.0 
    2) values_sw320dp ->dimens.xml [xhdpi] 10dp x 1.5 result set to dimens.xml file of values_sw320dp folder 
    3) values_sw480dp -> dimens.xml [for xxhdpi] 10dp x 2.0 result set to dimens.xml file of values_sw480dp folder 
    4) values_sw640dp -> dimens.xml [for xxxhdpi] 10dp x 2.5 result set to dimens.xml file of values_sw640dp folder as like you can set size for all devices as per google document.. 
    here you just need to create folder and inside folder create dimens.xml file for working with different screen size in android.