【问题标题】:Android XML: Why can't we type @drawable-mdpi, and instead, we must type @drawable?Android XML:为什么我们不能输入@drawable-mdpi,而必须输入@drawable?
【发布时间】:2012-05-12 14:24:19
【问题描述】:

我看到了文件夹:

drawable-hdpi
drawable-mdpi
drawable-ldpi

“Type @drawable/some_image.png”和“在 res 中创建可绘制文件夹”的帖子我见过无数个。

但是我从来没有看到过关于 XML 引用任何带有限定符名称的可绘制文件夹的问题。或者基本上编写 XML 来引用具有限定符名称的任何文件夹。

为什么没有记录?为什么 XML 不能使用限定符引用受支持的资源目录名称?是不是因为XML对连字符的限制?

我只是一个新手。我只是问问。没什么大不了的,我只是好奇。感谢您的回答。

【问题讨论】:

    标签: android xml resources drawable qualifiers


    【解决方案1】:

    这样做是为了支持多种屏幕尺寸/分辨率。

    您将相同的图像(具有相同的名称)放在不同的文件夹中,并对其进行修改以使其看起来最适合该分辨率(通常是不同的像素密度)。当调用该图像名称时,系统会遍历这些文件夹并为正在使用的设备的屏幕分辨率选择最佳图像(在您提供的图像中)。

    【讨论】:

    • 没有优先级?比如,hdpi 的优先级高于 mdpi,而 mdpi 的优先级高于 ldpi?
    【解决方案2】:

    因为 hdpi、mdpi、ldpi 中的资源会使用相同的 Resource ID。

    操作系统决定使用哪个资源的设备。

    【讨论】:

    • 那么,和/res/layout-port 和/res/layout-land 是一回事吗?我只需调用“@layout”,操作系统会根据用户当前的方向帮助我确定应该使用哪种布局?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    相关资源
    最近更新 更多