【问题标题】:Different sized images (with the same name) in one drawable folder一个可绘制文件夹中的不同大小的图像(具有相同的名称)
【发布时间】:2015-07-03 16:13:16
【问题描述】:

我是 android 编程的新手,每一个有点相似的问题都来自三年左右,并没有真正回答我的问题。 Android Studio 曾经为不同的 dpi 提供不同的可绘制文件夹。现在只有一个。因此,如果我有两个名称相同但 dpi 不同的图像,我在哪里添加它们以便在运行时手机可以使用适当的图像?

另外,现在大多数 android 手机都是 xhdpi 或 xxhdpi——我真的需要包含比这更少的任何图像吗?我该怎么做呢?例如,假设我从快门库存中获取图像。如何制作它以使其适用于 xhdpi 和 xxhdpi?

【问题讨论】:

    标签: android android-drawable android-image dpi


    【解决方案1】:

    那些文件夹没有去任何地方,如果你想要它们,你只需创建一个新文件夹并适当地命名它(drawable-xxhdpi 等)

    取决于 IDE,它只是在某些情况下不会默认生成它们

    DENSITY SIZE    LOCATION            RATIO   SCREEN  MARGIN
    XXXHDPI 192×192 drawable-xxxhdpi     4      640 DPI 12 to 16 pixels
    XXHDPI  144×144 drawable-xxhdpi      3      480 DPI 8 to 12 pixels
    XHDPI   96×96   drawable-xhdpi       2      320 DPI 6 to 8 pixels
    HDPI    72×72   drawable-hdpi        1.5    240 DPI 4 to 6 pixels
    MDPI    48×48   drawable-mdpi        1      160 DPI 3 to 4 pixels
    MDPI    48×48   drawable (Cupcake)   1      160 DPI 3 to 4 pixels
    LDPI    36×36   drawable-ldpi   0.75        120 DPI 2 to 3 pixels
    NA  512×512 Google Play NA  NA  As required
    

    【讨论】:

    • 它们是不是因为不再需要而默认不存在?
    • 不,这只是为了让您只能使用您需要的那些,例如,您可能不支持小型设备,因此您不需要空文件夹。 (如果我在这里错了,有人纠正我)
    • 好的,谢谢。您是否知道我将如何制作适合 xxhdpi 和 xhdpi 的单张图片(例如,我从 shutterstock 购买的一张)?
    • 我更担心不同手机上的图像尺寸不正确,而不是某些手机的图像质量可能较低。
    • 我已编辑答案以添加图标的一般尺寸表。对于其他类型的图像,只需尝试遵循比率(xxxhdpi 比 mdpi 图像大 4 倍)等。您不必太担心,因为通常它们的大小都相当好
    【解决方案2】:

    Android Studio 曾经为不同的 dpi 提供不同的可绘制文件夹。

    它仍然存在。

    现在只有一个。

    不,有几个。但是,在“Android”项目视图中,它们显示为折叠状态:

    如果您将该屏幕截图左上角的下拉菜单更改为“项目”,您将获得您习惯的视图,该视图反映了文件系统:

    因此,如果我有两个名称相同但 dpi 不同的图像,我应该在哪里添加它们以便在运行时手机可以使用适当的图像?

    和以前一样的地方。就个人而言,我发现“Android”项目视图非常无用,因此我在打开项目时首先切换到“项目”视图。

    现在大多数安卓手机都是 xhdpi 或 xxhdpi

    不,现在,only about a third are

    我真的需要包含比这更少的任何图像吗?

    我愿意。如果您有无数个可绘制对象,欢迎您尝试使用较少的密度,但您需要测试较低的密度以确认您的可绘制对象的下采样结果正常。

    【讨论】:

    • 我的“项目视图”不包括那些可绘制文件夹。见这里:imgur.com/D6931Kk
    • @Jameson:这是因为启动器图标默认创建为mipmap 资源,并且一开始没有将可绘制对象放入您的项目中(这可能取决于您选择的活动模板)。不过,您可以创建这些 drawable-.../ 目录,这与创建任何其他资源目录没有什么不同——右键单击 res/ 并从上下文菜单中选择新建 > Android 资源目录。
    【解决方案3】:

    根据需要自行创建文件夹。的确,现在大多数手机都是 xhdpi,但您的目标受众呢?你确定他们的手机和平板电脑至少支持 xhdpi 吗?有些平板电脑(例如 Galaxy Tab 2)低于这些值。只是要记住的事情。虽然,请考虑将 layout-sw(x)dp 用于大于 600dpi 的设备

    你必须为合适的drawable调整它们的大小。使用您应该遵循 3:4:6:8:12:16 的缩放比例,其中 48x48 是基线。例如,为了支持 xxxhdpi,您的可绘制对象将是 192x192

    【讨论】:

      【解决方案4】:

      其实Android Studio也有多个drawable文件夹。但它仍然包裹在 Project Structure 的 Android 视图中。

      所以你只看到一个 Drawable 文件夹。

      如果您想在展开模式下查看所有可绘制文件夹,请单击如下所示的下拉菜单并选择“项目”

      现在您可以像这样导航可绘制文件夹:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多