【问题标题】:Res folder and dpi?Res文件夹和dpi?
【发布时间】:2011-12-07 04:22:54
【问题描述】:

我只是想澄清一下,对于 android 中的 res 文件夹,对于分辨率较低的设备,它们会自动从 ldpi 文件夹中获取相同的命名资产吗?这样我就可以为更小的屏幕制作不同的资源了吗?

我是否需要在所有 4 个文件夹 (ldpi - xhdpi) 中都有资产才能在所有尺寸的设备上工作?或者,如果所有设备的资产都相同,我可以只将资产放在一个文件夹中吗?

如果我的资产仅在低分辨率设备上有所不同,我是否需要镜像其他每个文件夹的内容,以便它们都具有相同的资产?

【问题讨论】:

    标签: android


    【解决方案1】:

    我建议彻底阅读this article 以了解它的工作原理,但基本上,它会找到最接近的可用大小匹配资源,所以不,您不一定需要在所有文件夹中镜像.

    来自the qualifiers section particularly,这句话很好地解释了它。

    请注意,当 Android 系统选择要使用的资源时 运行时,它使用某些逻辑来确定“最佳匹配” 资源。也就是说,您使用的限定词不必完全匹配 在所有情况下为了系统的当前屏幕配置 使用它们。具体来说,在根据大小选择资源时 限定符,系统将使用为屏幕设计的资源 如果没有更好的资源,则小于当前屏幕 匹配(例如,大尺寸屏幕将使用普通尺寸屏幕 必要时提供资源)。但是,如果唯一可用的资源是 大于当前屏幕,系统将不会使用它们和您的 如果没有其他资源与设备匹配,应用程序将崩溃 配置(例如,如果所有布局资源都被标记为 xlarge 限定符,但设备是正常大小的屏幕)。为了 有关系统如何选择资源的更多信息,请阅读如何 Android 找到最匹配的资源。

    【讨论】:

      【解决方案2】:

      让我们将您的问题分成三个单独的问题。

      我只是想澄清一下,android 中的 res 文件夹具有较低的 解析设备,它们会自动从 ldpi 文件夹?这样我就可以为更小的资产制作不同的资产 屏幕?

      很简单,是的。这就是系统的用途。只要您使用同名资产,Android 就会根据屏幕的 dpi 自动选择最适合您设备的资产。

      我是否需要在所有 4 个文件夹 (ldpi - xhdpi) 中都有资产才能使用 适用于所有尺寸的设备?或者我可以只在一个文件夹中拥有资产,如果 所有设备的资产都相同吗?

      您不需要所有文件夹中的资产使其在所有设备上工作。但是,如果您希望它运行良好,您将需要所有文件夹中的资产,所有文件夹都有自己的尺寸,具体取决于文件夹。如果您只使用具有一种资产大小的文件夹,它仍然可以工作。您的资产只会被 Android 本身缩放,这可能会导致某些资产在某些更高/更低 dpi 的设备上看起来非常难看。更不用说缩放会导致整个布局混乱的事实。

      如果我的资产仅与低分辨率设备不同,我该怎么办? 需要镜像每个其他文件夹的内容,以便它们都 有相同的资产吗?

      “仅对低分辨率设备不同”是指整个资产不同吗?例如蓝色图像而不是红色图像?如果是这样,您仍然需要使用与其他文件夹中的资产相同的 name。实际内容可能不同,操作系统只在抓取资产时检查名称。

      有关如何支持多种屏幕尺寸的更多信息,请尝试本指南:

      http://developer.android.com/guide/practices/screens_support.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-01
        • 2011-02-01
        • 2015-03-25
        • 2014-12-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多