【问题标题】:How to import set of icons into Android Studio project如何将一组图标导入 Android Studio 项目
【发布时间】:2024-01-11 04:01:01
【问题描述】:

我从Android Developers center 下载了图标集 此集合中的每个图标都根据其分辨率在 forlders 中排序:drawable-hdpi、drawable-mdpi、drawable-xhdpi、drawable-xxhdpi。

有没有办法将所有 4 个图标的文件一次性导入 Android Studio 或者我需要一个一个地复制它? (当我使用 new->Image Asset 时,我必须填写一个文件路径,我无法用文件夹路径填写它)

25/2/15 更新:
根据this SO question,似乎有一种方法可以通过Android Asset Studio 生成4 大小的图标,然后将zip 文件直接导入您的Android Studio 项目res 文件夹-有人用过吗?

【问题讨论】:

  • 自己一个一个复制,没有办法。
  • 我不清楚所有这些概念:例如,当我添加“图像资产”时,我可以选择资产类型和主题 - 这些属性保存在项目的“src”文件夹下的什么位置?
  • 如果你通过图片资源导入,那么你的图片会被导入 res/drawable
  • @Apurva 并非总是如此。在新版本的 android studio 中,如果您通过图像资源导入启动器图标,那么它将进入 res/mipmap。

标签: android android-studio android-ui android-icons


【解决方案1】:

编辑: Android Studios 1.5 之后android 支持Vector Asset Studio


关注this,上面写着:

启动 Vector Asset Studio:

  1. 在 Android Studio 中,打开一个 Android 应用项目。
  2. 在“项目”窗口中,选择 Android 视图。
  3. 右键单击 res 文件夹并选择 New > Vector Asset。


旧答案

转到设置>插件>浏览存储库>搜索Android Drawable Import

此插件包含 4 个主要功能。

  1. AndroidIcons Drawable 导入
  2. 材质图标可绘制导入
  3. 缩放的可绘制对象
  4. 多源可绘制

如何使用 Material Icons Drawable Import : (Android Studio 1.2)

  • 转到文件 > 设置 > 其他设置 > Android Drawable 导入

  • 下载 Material Icon 并选择您的下载路径。

  • 现在右击项目,新建>材质图标导入

  • 在您的项目中使用您最喜欢的可绘制对象。

【讨论】:

  • 我安装了但不能使用。我必须通过 IDE 设置提供 -> Android Drawable Importer - 资产主文件夹的路径,但无法编辑该字段以提供此文件夹路径。此外我不知道我项目的资产文件夹是什么。它只有 res\drawable-mdpi、res\drawable-hdpi 等下的图标。
  • 你必须提供你下载的图标文件夹路径而不是你的资产文件夹
  • 最终我认为这就是我一直在寻找的东西。我正在使用此插件添加的选项 new->scaled drawable,以便将图像导入 Android Studio。谢谢!
  • 在 Android Studio 1.3 中,插件(作为其他设置字段)不会出现在设置下
  • @Kishan Vaghela,谢谢。在 Android Studio 1.3 中,您可以直接跳过此步骤。下载插件并重新启动工作室后,该插件已经出现在“新建”部分(恕我直言,它会在运行时下载图标)
【解决方案2】:

实际上,如果您从 android 网站下载图标包,您会看到每个分辨率都有一个名为 drawable-mdpi 等的文件夹。 将所有文件夹复制到 Android Studio 中的 res(不是 drawable)文件夹中。这将自动使图标的所有不同分辨率可用。

【讨论】:

  • 这是最好的解决方案,但也很简单。对于图标包,我从 makeappicon.com 生成
  • 对于位置 C:\Users\\AndroidStudioProjects\\app\src\main\res
【解决方案3】:

对于您自己创建的自定义图像,您可以不使用插件:

右键单击 res 文件夹,选择 New > Image Asset。浏览图像文件。选择您拥有的最大图片。

它会为你创造所有的密度。确保您选择的是原始图像,而不是带有 alpha 的资产工作室图像,否则您将半透明两次。

【讨论】:

  • 图像资产工具在我的文件周围留下了透明边框,导致图标比手机上的其他图标更小。您找到缓解这种情况的方法了吗?
  • 确实如此,我让他在下一个版本中将此填充设为可选。
  • Android Studio 2.0 中无法提供透明背景。
【解决方案4】:

如果由于某种原因您不想使用该插件,那么您可以使用以下脚本将资源复制到您的 android studio 项目中:

echo "..:: Copying resources ::.."
echo "Enter folder:"
read srcFolder
echo "Enter filename with extension:"
read srcFile
cp /Users/YOUR_USER/Downloads/material-design-icons-master/"$srcFolder"/drawable-xxxhdpi/"$srcFile" /Users/YOUR_USER/AndroidStudioProjects/YOUR_PROJECT/app/src/main/res/drawable-xxxhdpi/"$srcFile"/
echo "xxxhdpi copied"
cp /Users/YOUR_USER/Downloads/material-design-icons-master/"$srcFolder"/drawable-xxhdpi/"$srcFile" /Users/YOUR_USER/AndroidStudioProjects/YOUR_PROJECT/app/src/main/res/drawable-xxhdpi/"$srcFile"/
echo "xxhdpi copied"
cp /Users/YOUR_USER/Downloads/material-design-icons-master/"$srcFolder"/drawable-xhdpi/"$srcFile" /Users/YOUR_USER/AndroidStudioProjects/YOUR_PROJECT/app/src/main/res/drawable-xhdpi/"$srcFile"/
echo "xhdpi copied"
cp /Users/YOUR_USER/Downloads/material-design-icons-master/"$srcFolder"/drawable-hdpi/"$srcFile" /Users/YOUR_USER/AndroidStudioProjects/YOUR_PROJECT/app/src/main/res/drawable-hdpi/"$srcFile"/
echo "hdpi copied"
cp /Users/YOUR_USER/Downloads/material-design-icons-master/"$srcFolder"/drawable-mdpi/"$srcFile" /Users/YOUR_USER/AndroidStudioProjects/YOUR_PROJECT/app/src/main/res/drawable-mdpi/"$srcFile"/
echo "mdpi copied"

【讨论】:

    【解决方案5】:

    较新版本的 Android 支持矢量图形,比 PNG 图标更受欢迎。 Android Studio 2.1.2(可能还有更早的版本)带有 Vector Asset Studio,它会自动为您添加的矢量图形创建 PNG 文件。

    Vector Asset Studio 支持从 SDK 导入矢量图标以及您自己的 SVG 文件。

    本文介绍了 Vector Asset Studio: https://developer.android.com/studio/write/vector-asset-studio.html

    如何使用 PNG 文件添加矢量图形的摘要(部分从该 URL 复制):

    1. 在“项目”窗口中,选择 Android 视图。
    2. 右键单击 res 文件夹并选择 New > Vector Asset。
    3. 应该选择材质图标单选按钮;然后点击选择
    4. 选择您的图标,调整您需要调整的任何设置,然后完成。
    5. 根据您的设置 (see article),在构建过程中会在 app/build/generated/res/pngs/debug/ 文件夹中生成 PNG。

    【讨论】:

      【解决方案6】:

      就像 Gregory Seront 在这里所说的:

      实际上,如果您从 android 网站下载图标包,您会看到每个分辨率都有一个名为 drawable-mdpi 等的文件夹。将所有文件夹复制到 Android Studio 中的 res(不是 drawable)文件夹中。这将自动使图标的所有不同分辨率可用。

      但是如果您没有从生成器站点获取图像(也许您的 UX 团队提供了它们),只需确保您的文件夹命名为 drawable-hdpi、drawable-mdpi 等,然后在 mac 中按住 shift 并选择所有文件夹然后复制它们(不要拖动)。将文件夹粘贴到 res 文件夹中。 android 将负责其余的工作并将所有可绘制对象复制到正确的文件夹中。

      【讨论】:

        【解决方案7】:

        从 Android Studio 3.4 开始,有一个名为 Resource manager 的新工具。它支持一次导入多个可绘制对象(矢量、PNG、...)。关注official documentation

        【讨论】:

          【解决方案8】:

          你需要做的是从material design下载的图标,打开那个文件夹,里面有很多指定的图标类别,打开任何一个选择任何图标,然后转到这个文件夹-> drawable-anydpi-v21。此文件夹包含 xml 文件复制任何 xml 文件并将其粘贴到此位置 -> C:\Users\Username\AndroidStudioProjects\你的项目名称\app\src\main\res\drawable。而已 !!现在您可以在您的项目中使用该图标。

          【讨论】: