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

问题描述 投票:2回答:0

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

我使用ScreenLayout_Size_Mask来获取实际的屏幕尺寸类别。 对于参考: 链接


对于设备:

Nexus7(1200 x 1920像素〜323 ppi):

ScreenLayout_Size_LARGE,密度为XHIGH

三星Galaxy Grand-2(720 x 1280像素〜280 ppi):

ScreenLayout_Size_NORMAL,密度为XHIGH。

尽管它们的“屏幕尺寸”有很大的不同,但它们的dpi相同(XHIGH),因此两个设备的选定图标图像仅具有相同的密度(XHDPI),实际上不应该这样做,因为图标会被夸大小屏幕设备(Galaxy Grand-2)上的尺寸相对来说比较混乱。

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

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

我发现的另一种方法是像这样编程方式进行操作:

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

  2. 为(small,normal,large,xlarge)添加不同名称的不同图像。

有什么适当的方法吗? 任何帮助将不胜感激。

android image screen-size image-size screen-density
© www.soinside.com 2019 - 2024. All rights reserved.