Android:根据“屏幕尺寸”设置图像/图标而不是“屏幕密度”(dpi的)

时间:2015-10-07 06:10:54

标签: android image screen-size image-size screen-density

我正在制作一个在屏幕上有14个图标的布局。我为所有图标创建了 9-patch 图像,并将它们添加到相应的文件夹中: MDPI,HDPI,XHDPI,XXHDPI,XXXHDPI ,它工作正常。 我在一些设备上进行了测试,因为我们知道添加并选择图像以相应地显示“屏幕密度”而不是“屏幕尺寸”

我使用 ScreenLayout_Size_Mask 来获取实际的屏幕尺寸类别。(ScreenLayout_Size_SMALL,ScreenLayout_Size_NORMAL,ScreenLayout_Size_LARGE,ScreenLayout_Size_XLARGE)我正在检索屏幕的屏幕尺寸和密度。对于ref:Link

对于设备:

Nexus7(1200 x 1920 px~323 ppi):

  

ScreenLayout_Size_LARGE和密度是XHIGH

三星Galaxy Grand-2(720 x 1280 px~280 ppi):

  

ScreenLayout_Size_NORMAL和密度是   XHIGH。

虽然他们的“屏幕大小”仍然存在很大差异,但他们的 dpi是相同的(XHIGH),因此两个设备选择的图标图像仅具有相同的密度(XHDPI),实际上不应该可以这么做,因为在小屏幕设备(Galaxy Grand-2)上图标会比较大,但看起来很麻烦。

根据android标准,我们只能为多个屏幕密度添加图像资源,而不是根据屏幕尺寸。

我得到的一个选项是设置ImageView大小与屏幕大小的比例,但布局中有14个图标,如何为所有ImageView获得适当的比例大小?

我发现的其他方法是以编程方式执行此操作:

  1. 使用ScreenLayout_Size_Mask获取实际屏幕尺寸

  2. 为(小,普通,大,xlarge)添加不同名称的不同图像。

  3. 有没有正确的方法呢?任何帮助将受到高度赞赏。

0 个答案:

没有答案