【问题标题】:Android Studio: Drawable Folder: How to put Images for Multiple dpi?Android Studio:可绘制文件夹:如何为多个 dpi 放置图像?
【发布时间】:2015-03-27 06:03:33
【问题描述】:

as per android documentationdrawable 文件夹需要有多个不同dpi 图像的子目录。然而,在 Android Studio 中,在可绘制文件夹中创建任何子目录会导致它根本无法检测到任何图像。另一方面,如果图像直接放置在可绘制文件夹中,它会被检测到并可供使用视图 R.drawable.ImageName。在这种情况下,我们如何为同一个 ImageName 使用不同 dpi 的图像?

【问题讨论】:

  • 默认情况下,stidio 不会创建任何其他可绘制文件夹..如果您愿意,您可以创建和放置图像..
  • 右击drawable单击Image Asset并选择Notification或App图标只需选择您的最高分辨率图像其余将自动创建..完成后您可以在drawable文件夹中看到不同的分辨率

标签: android android-studio android-drawable


【解决方案1】:

标准程序是:

  1. 选择项目 > 应用 > scr > 主
  2. 右键“res”,选择“New”,选择“Android资源目录”
  3. 在打开的对话框中,在资源类型选择“drawable”
  4. 在列表可用限定符中选择密度,然后单击中间的向右箭头。
  5. 选择您喜欢的密度,然后按确定

【讨论】:

  • 即使这样做了,我仍然无法访问图像!!
  • 惊人的答案。谢谢!
  • 添加文件夹的方法是正确的。我很感激。但是,要访问该文件夹,您必须将项目结构视图从 Android 更改为 Project。在这里导航到 res->xxhdpi @Fattie
  • @Fattie 您可以通过 @drawable/your_file_name 访问,它会自动从 drawable-xxxhdpi 中选择您的文件(在我的情况下)。
  • 没有drawable资源类型来创建可绘制目录(至少在windows的最新版本中)
【解决方案2】:

有两种方法。

1.右击drawable New->Image Asset->选择你最高分辨率的图片rest会自动创建。完成后,您可以在 drawable 文件夹中看到不同的分辨率

  1. 您想要的方式。在项目资源管理器窗口中,您会看到一个 Android 下拉菜单。单击它更改为项目。

现在你的项目名->app->src->main->res->

Aila 您可以使用 hdpi mdpi 等查看您的可绘制文件夹。

【讨论】:

  • 第一种方式只添加图标
【解决方案3】:

我发现在我的图标的可绘制文件夹下显示正确的“目录”结构的最简单方法是:

  1. 右键单击“可绘制”
  2. 点击“新建”,然后点击“图片资源”
  3. 将“资产类型”更改为“操作栏和选项卡图标”
  4. 对于“前景”选择“剪贴画”
  5. 对于“剪贴画”,单击“选择”按钮并选择任意图标
  6. 对于“资源名称”,输入您的图标文件名

现在已经在 Android 视图的 Drawable 文件夹下为您创建了伪目录。打开文件系统“main/res/drawable-xxhdpi”、“main/res/drawable-xhdpi”上的真实目录,并用您自己的适当密度替换每个文件夹中的图标。

【讨论】:

  • 谢谢,您的方法简单快捷。
【解决方案4】:

您不创建可绘制文件夹的子文件夹,而是在 /res 文件夹下为不同的屏幕密度或屏幕尺寸创建“兄弟”文件夹。 /drawable 文件夹(没有任何尺寸)主要用于与selectors 等任何屏幕尺寸无关的可绘制对象。

查看此屏幕截图(使用名称drawable-hdpi 而不是mipmap-hdpi):

【讨论】:

  • mipmap 仅用于图标,更多请查看stackoverflow.com/questions/28065267/mipmap-vs-drawable-folders
  • 是的,我们需要同级文件夹而不是可绘制文件夹下方的文件夹。这是我在文档中遗漏的细节。感谢您指出@Ascorbin
  • 这完全令人困惑,我希望我仍然手动进行。在 android 文件资源管理器中,我有 drawable-hdpi 和所有这些文件夹,但我无法访问它们,即使它们中有我从未放置在那里的图像。在我的操作系统 wm 中,我没有任何这些,所以我无法检查大小并且我的应用程序很慢,所以我怀疑它是否正常工作。我只需要手动查找每个文件夹的每个 dpi 的像素,然后缩放所有内容并希望修复它而不是加载损坏的隐藏文件夹。程序员没有比调整 fml 大小更好的事情了
  • @G_V 您可能处于 Android Studio 中显示文件的“android”模式。将其设置为“项目”,您可能会很高兴:) stackoverflow.com/questions/29458189/…
  • 我可以在 hdpi 和 mdpi 中看到图像,但是当我在设计器中预览所有分辨率时,我看到的只是 hdpi 图像。我如何戴尔安卓“在分辨率 R 上显示图像 I”
【解决方案5】:

只需转到 project Explorer 并将您的 ViewAndroid 更改为 project 从下拉菜单中,您就可以开始了。There you can simply create folder like we do in Eclipse. 并在 android 项目视图中它是隐藏的,但是当您切换到项目时。您可以创建像drawable-hdpi,drawable-xhdpi 这样的文件夹。

【讨论】:

    【解决方案6】:

    只需将图像复制并粘贴到 res>drawable 中,它会询问您要粘贴分辨率图像的目标文件夹以获取更多帮助,请查找 Android Studio drawable folders

    【讨论】:

    • 只有当你的文件夹已经存在于drawable中时才会起作用。
    【解决方案7】:

    在 android studio 中,您可能会看到以下文件夹 drawable xhdpi、drawable-hdpi、drawable-mdpi 等等... 您可以将不同dpi的图像相应地放在这些文件夹中,android会根据设备的屏幕密度来处理应该绘制哪些图像。

    注意:您必须放置同名的图像。

    【讨论】:

      【解决方案8】:

      您需要使用 R.mipmap.yourImageName

      【讨论】:

      • 这是建议如何访问图像的唯一答案,它已被标记。这里没有一个答案说明如何选择图像。它似乎是通过魔法发生的。
      【解决方案9】:

      New -> Batch Drawable Import -> 点击 Add button -> Select image -> Select Target Resolution, Target Name, Format -> Ok

      【讨论】:

        【解决方案10】:
        1. 右键单击“drawable
        2. 点击“New”,然后点击“Image Asset
        3. 将“图标类型”更改为“操作栏和标签图标
        4. 将“资产类型”更改为图标的“剪贴画”和图像的“图像
        5. 对于图标:点击“剪贴画”图标按钮并选择您的图标
        6. 对于图片:点击“路径”文件夹图标并选择您的图片
        7. 对于“名称”,输入您的图标/图像文件名

        【讨论】:

          【解决方案11】:

          0

          右键单击“可绘制” 单击“新建”,然后单击“图像资源” 将“图标类型”更改为“操作栏和选项卡图标” 将“资产类型”更改为图标的“剪贴画”和图像的“图像” 对于图标:单击“剪贴画”图标按钮并选择您的图标 对于图像:单击“路径”文件夹图标并选择您的图像 对于“名称”,请输入您的图标/图像文件名

          【讨论】:

            【解决方案12】:

            只需将图像上传到任何在线工具转换器,该转换器会将您的图像转换为不同的 dpi,然后从下载的 dpi 文件夹下载并复制并粘贴到 Android dpi 文件夹。 例如,我有要转换为不同 dpi 的徽标图像,我在 Google 中搜索在线图像转换器到不同的 dpi,然后上传该图像并下载包含不同 dpi 文件夹的 zip 文件夹,我从中复制了一个一个并粘贴到相同的 Android dpi 文件夹中。 完成了……

            【讨论】:

              猜你喜欢
              • 2012-05-31
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多