【问题标题】:Force load desired dpi drawables according to screen size根据屏幕尺寸强制加载所需的 dpi drawable
【发布时间】:2026-01-08 17:55:01
【问题描述】:

我有 4 组图片

Resolutions        DPI      Directory
240 x 320          120dpi - drawable-ldpi
320 x 480          160dpi - drawable-mdpi
480 x 800          240dpi - drawable-hdpi
1280x 800          320dpi - drawable-xhdpi

但是当我用分辨率1280x800 and DPI 224在华硕变压器上测试它时。 它从 drawable-hdpi 加载图形。

如果我要添加另一个名为 drawable-xlarge 的文件夹,它会加载所需的图像,但也会增加应用程序的大小。

我的问题如下

1 - 支持所有屏幕尺寸和 DPI 的最佳做法是什么?

2 - 有没有办法强制加载特定 DPI w.r.t 屏幕尺寸的可绘制对象?

3 - 在不复制图形的情况下,针对我的问题推荐的解决方案是什么?

【问题讨论】:

    标签: android drawable dpi screen-size


    【解决方案1】:

    但是当我在分辨率为 1280x800 和 dpi 224 的华硕变压器上对其进行测试时。它从 drawable-hdpi 加载图形。

    这是因为 ASUS Transformer 是-hdpi 设备。因此,它工作正常。

    支持所有屏幕尺寸和 dpi 的最佳做法是什么?

    通常,图像仅根据密度而变化,因此您当前的结构很好。

    如果您选择在屏幕尺寸密度上都不同的图像,则需要为

    创建更多目录(例如,res/drawable-xlarge-hdpi/)和图像

    有没有办法强制加载特定 dpi w.r.t 屏幕尺寸的可绘制对象?

    密度和屏幕尺寸彼此无关。

    在不复制图形的情况下,针对我的问题推荐的解决方案是什么?

    根据您的“问题”,您没有问题。因此,没有针对您的非问题的建议。

    【讨论】:

    • 我知道,但是创建更多图像会增加应用程序的大小。
    • @CommonsWare 顺便说一句,操作系统认为 224 dpi 高是否正常?你知道是否需要最接近的值来指定密度的种类吗?
    • @SyedMuhammadUmair:所以?您是决定为不同屏幕尺寸设置不同图标的人。
    • @teoREtik:制造商选择密度桶,而不是操作系统。
    • @CommonsWare 所以它是由供应商以编程方式设置的,不是吗?
    最近更新 更多