在Android Studio中导入drawable的快速方法?

时间:2015-02-13 15:41:24

标签: android android-studio android-resources

在某个Android项目中,您需要在res/drawable目录中导入一些drawable - 无论是工具栏图标,图像,UI功能。大多数情况下,您会针对最常见的限定符(drawable-hdpidrawable-mdpidrawable-xdpidrawable-xxdpi,...)缩放图像。

因此,我们需要为每个drawable执行三个,四个甚至五个文件复制/粘贴:

external_dir/drawable-mdpi/file.png   ->  my_package/drawable-mdpi/file.png
external_dir/drawable-hdpi/file.png   ->  my_package/drawable-hdpi/file.png
external_dir/drawable-xdpi/file.png   ->  my_package/drawable-xdpi/file.png
external_dir/drawable-xxdpi/file.png  ->  my_package/drawable-xxdpi/file.png

如果您必须导入多个图片,这很烦人。有没有一种简单,快捷的方法可以在相应的包文件夹中传输这四个file.png实例?在IDE中实现了一些功能?一些简单的解决方法?

我的工作流程一直是:

  • 从OS文件管理器复制/粘贴,从外部目录复制/粘贴到包,然后刷新Android Studio中的资源文件。这意味着打开每个合格的子目录,因此有四个动作;
  • 来自操作系统文件管理器,移至external_dir,搜索file.png,将四个实例放入单个列表中,拖放到Android Studio中,然后为每个图片右键单击导航相应包目录中的栏,CopyPaste。不是更好!

有什么建议吗?

编辑 - 我当然不是真的要求“建议” - 我想知道是否有办法将移动次数减少到一个(或者这样)。

14 个答案:

答案 0 :(得分:53)

答案 1 :(得分:18)

2017年1月16日我的回答。

两年后,Android Studio可以导入Image Assets。但我想添加一条新评论。 Android现在支持Vectors,因此我们不必担心不同的解决方案。我建议使用VectorVectorDrawable

只需在Project -> New -> Vector Asset中右键单击您的应用名称即可。

只需按照向导即可。

最好的问候,佩德罗。

我的回答于2015年2月18日。

如果我没有误解,这就是我在Android Studio(AS)项目中所做的。

我发现我们只需要导入最高分辨率的资源; AS将为您扩展它们。我要求我的设计师只生成xxhdpi文件然后。

您转到/res导航器中的Project文件夹,右键单击并选择New -> Image Asset

Asset Studio会弹出

在那里你可以,

  • 选择资产类型
  

[启动器图标,操作栏图标,通知图标]

  • 浏览原始文件
  • 为您的资源命名

完成所有信息后。您的资源将在AS中导入。

作为一般性说明。对于除启动器图标以外的内部图标,我选择了类型"启动图标",它们完美地工作。

希望得到这个帮助。

最好,佩德罗。

答案 2 :(得分:12)

正如Rob Meeuwisse在上面的评论中所提到的,你可以在一个复制和粘贴动作中完成。您可以在OS文件管理器中同时选择所有四个drawable-XXXX 文件夹(而不是图像本身!),而不是逐个复制和粘贴每个文件(通过Ctrl - 单击Windows / Linux或Command - 单击OS X),复制所有这些文件夹,然后将其粘贴到Android Studio中的res文件夹中。

图像将自动粘贴到res中相应的可绘制文件夹中。这是有效的,因为如果Android Studio注意到您正在复制并粘贴项目中已存在的文件夹,它将只使用现有文件夹并粘贴丢失的内容而不是替换/丢弃文件。已经在那里了。

答案 3 :(得分:2)

使用 Mac OS X Finder ,您只需一次性复制/粘贴文件夹drawable-mdpidrawable-hdpidrawable-xdpidrawable-xxdpimy_package/,然后在显示的Finder对话框中选择合并选项。这会将新文件添加到my_package/

中的相应文件夹中

但是,请注意,只有在源文件夹和目标文件夹不包含任何具有相同名称的文件时才可以这样做。

答案 4 :(得分:2)

  1. 选择“res”目录
  2. 右键单击并选择“与...比较”
  3. 找到您的drawables来自的目录
  4. 隐藏外向更改
  5. 选择所有传入的更改,然后单击箭头进行同步。

答案 5 :(得分:1)

我通常以一种非常简单的方式进行操作:我使用this工具直接在正确的文件夹名称中生成我的图像:您只需打开工具并在其上拖动更大的图像(EG:一个你想用于xhdpi文件夹或xxhdpi文件夹):该工具将在原始图像文件夹中创建包含正确缩放图像的所有其他文件夹(mdpi,ldpi,hdpi等)。 一旦你有这个文件夹,你只需要将它们粘贴到res文件夹中,完成!

答案 6 :(得分:1)

自Android Studio 3.4起,这变得容易得多。 只需转到Resource Manager标签,然后单击小添加按钮add resources to the module。 [add button within resource manager[1]

然后选择要导入的图形。 如果将可绘制对象放置在与限定符同名的文件夹中(drawable-mdpi,drawable-hdpi,drawable-xhdpi等),该工具将自动知道要添加它们。 drawables import dialog

我认为仍然唯一缺少的是将可绘制对象添加到特定的flavorDimension。

答案 7 :(得分:0)

似乎这样做的方法是将资源拖放到AS。例如。我们有一堆图像,我们抓住所有的xxhdpi图像将它们放入AS然后它会问你哪个分辨率是那些图像,所以我们选择pouup xxhdpi ..然后,xhdpi中的所有图像再次从中选择xhdpi弹出,这是将资产导入AS的方式等每个决议。

答案 8 :(得分:0)

在Android Studio中,右键单击drawable - >新 - >图片资产 - >资产类型:操作栏和选项卡图标。 图像文件:image_path, 资源名称:图像名称 - >下一个 - >完成

完成

这将添加4种不同尺寸的图像,使其适合设备尺寸

答案 9 :(得分:0)

如果您从https://material.io/icons/下载图标,则可以使用以下Bash功能一次导入一堆图标:

import_icons() {
  project_dir=${1%/}
  shift 1

  for zip in "$@"; do
    unzipped_dir=${zip%.*}
    echo $(basename "$unzipped_dir")
    unzip "$zip" -d $(dirname "$zip") >/dev/null
    cp -R "$unzipped_dir"/android/* "$project_dir/app/src/main/res"
  done
}

用法示例:

$ import_icons ~/Projects/MyProject ic_1.zip ic_2.zip ic_3.zip

cp -R复制各种来源mdpihdpi等目录,并将它们与现有目录合并。如果图标包的目录结构不同,只需将第一个参数修改为cp

答案 10 :(得分:0)

最简单,最快捷的方法是,只有在已经格式化的文件夹中有图像时,才能一次性复制粘贴。

  • 从Meterial Icons here

  • 下载任何图像
  • 下载的文件夹包含所有级别的可绘制文件夹(mdpi, hdpi,等等。)

  • 只需复制所有文件夹并将其粘贴到res文件夹,此处为文件夹 并没有取代新图像将添加现有图像。

答案 11 :(得分:0)

安装 Android可绘制导入器

遵循此 CompleteVideoTutorial 进行安装Android可绘制的导入器技巧以快速导入可绘制的图形

答案 12 :(得分:0)

从Android Studio->转到“配置”->“插件”。搜索“批量可绘制导入程序”。 单击安装。 然后重新启动android studio。

答案 13 :(得分:0)

我发现最简单的方法是只复制文件,或者在启动器图标的情况下设置文件夹。 Copy folders

然后将它们粘贴到AndroidStudio中的res文件夹中。

[Paste in AndriodStudio[2]

对我来说很棒。