在 Android Studio 中快速导入可绘制对象的方法?
Fast ways to import drawables in Android Studio?
在某个 Android 项目中,您需要导入一些可绘制对象 - 工具栏图标、图像、UI 功能 - 在 res/drawable
目录中。大多数时候,您会针对最常见的限定符(drawable-hdpi
、drawable-mdpi
、drawable-xdpi
、drawable-xxdpi
、...)缩放图像。
所以我们需要为每个 drawable 做三个、四个、甚至五个文件 copy/pastes:
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 中实现的某些功能?一些简单的解决方法?
到目前为止,我的工作流程是:
- copy/paste从OS文件管理器,从外部目录到包,然后在AndroidStudio中刷新资源文件。这意味着打开每个符合条件的子目录,所以四步;
- 从 OS 文件管理器,移动到
external_dir
,搜索 file.png
,将四个实例放在一个列表中,拖放到 Android Studio,然后对于每张图片,右键单击导航栏,Copy
,并在相应的包目录中单击 Paste
。并没有更好!
有什么建议吗?
编辑 - 我并不是真的要求 "advices" 当然 - 我想知道是否有办法将移动次数减少到一个(或这样)。
我在 2017 年 1 月 16 日的回答。
两年后,AndroidStudio 有办法导入Image Assets
。但我想添加一条新评论。 Android 现在支持 Vectors
,所以我们不用担心不同的分辨率。我建议使用 Vector
和 VectorDrawable
.
只需在 Project -> New -> Vector Asset
中右键单击您的应用名称。
只需按照向导操作即可。
此致,佩德罗。
我在 2015 年 2 月 18 日的回答。
如果我没有误解的话,这就是我在 Android Studio (AS) 项目中所做的。
我发现我们只需要导入最高分辨率的资源; AS 会为你扩展它们。我要求我的设计师只生成 xxhdpi 文件然后。
您转到 Project
导航器中的 /res
文件夹,右键单击并 select New -> Image Asset
Asset Studio
会弹出
在那里你可以,
- Select 您的资产类型
[ Launcher Icon, Action bar icons, Notification icons ]
- 浏览你的原始文件
- 为您的资源命名
完成所有信息后。您的资源将在 AS 中导入。
作为一般说明。对于启动器图标以外的内部图标,我 select 编辑为 "launch icon" 类型,它们工作得很好。
希望对您有所帮助。
最好,佩德罗。
好像是把资源拖拽到AS。例如。我们有一堆图像,我们抓取所有 xxhdpi 图像并将它们放入 AS,然后它会询问您这些图像的分辨率,因此我们从 pouup xxhdpi 中选择。然后,xhdpi 中的所有图像再次从中选择 xhdpi弹出,这就是将资产导入 A.S 的方法。以此类推。
正如 Rob Meeuwisse 在上面的评论中提到的,您可以在一次复制和粘贴操作中完成。您可以 select 所有四个 drawable-XXXX
文件夹 (不是图像本身!),而不是一个一个地复制和粘贴每个文件! 25=]文件管理器同时(通过Ctrl
-点击Windows/Linux或Command
-点击OSX),复制所有这些文件夹,然后粘贴到Android Studio 中的 res
文件夹。
图像将自动粘贴到 res
中相应的可绘制文件夹中。这是可行的,因为如果 Android Studio 注意到您正在复制和粘贴项目中已存在的文件夹,它只会使用现有文件夹并粘贴缺少的内容,而不是 replace/discard已经在那里了。
我通常用一种非常简单的方式来做:我使用 this 工具直接在正确的文件夹名称中生成我的图像:你只需要打开该工具并将更大的图像拖到它上面(EG :您要用于 xhdpi 文件夹或 xxhdpi 文件夹的那个):该工具将在原始图像的文件夹中创建包含正确缩放图像的所有其他文件夹(mdpi、ldpi、hdpi 等)。
一旦你有了这个文件夹,你只需将它们粘贴到 res 文件夹中,完成!
在您的 Android Studio 中,右键单击 drawable -> New -> Image Asset -> Asset Type:Action Bar and Tab Icons。
图片文件:image_path,
资源名称:图片名称
-> 下一步
-> 完成
完成
这将添加 4 种不同尺寸的图片,以便根据设备尺寸进行调整
使用 Mac OS X Finder 您可以简单地 copy/paste 文件夹 drawable-mdpi
、drawable-hdpi
、 drawable-xdpi
、drawable-xxdpi
一次移动到 my_package/
,然后 select 在出现的 Finder 对话框中选择 Merge 选项。这会将新文件添加到 my_package/
.
中的相应文件夹中
但是,请注意,只有在源文件夹和目标文件夹不包含任何同名文件的情况下才有可能。
如果您从 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
复制各种来源 mdpi
、hdpi
等目录,并为您将它们与现有目录合并。如果你的图标包目录结构不同,修改第一个参数为cp
.
即可
- Select "res" 目录
- 右击 select "Compare with"
- 找到您的可绘制对象所在的目录
- 隐藏传出更改
- Select 所有传入的更改并单击箭头同步。
最简单和最快的方法是仅当您的图像位于已经格式化的文件夹中时,一次复制粘贴所有内容,如下所述。
从 Meterial Icons 下载任何图像 here
下载的文件夹包含所有级别的可绘制文件夹(mdpi、
hdpi, 等..)
复制所有文件夹粘贴到res文件夹,这里是文件夹
不只是替换新图像将要添加现有图像。
安装Android可绘制导入器
按照此 CompleteVideoTutorial 进行 安装 Android 可绘制导入器 和 导入技巧绘制非常快
从 Android 工作室 -> 转到配置 -> 插件。搜索 "Batch Drawable importer" 。
单击安装。
然后重启android工作室。
我发现最简单的方法是只复制文件或在启动器图标的情况下设置文件夹。
然后将它们粘贴到 AndroidStudio 中的 res 文件夹中。
[
对我来说效果很好。
自从 Android Studio 3.4 以来,这变得容易多了。
只需转到 Resource Manager
选项卡并单击小 add-button add resources to the module
。
[
然后 select 您要导入的可绘制对象。
如果您将可绘制对象放置在与限定符(drawable-mdpi、drawable-hdpi、drawable-xhdpi 等)同名的文件夹中,该工具将自动知道要添加它们。
我认为唯一还缺少的是将可绘制对象添加到特定的 flavorDimension。
在某个 Android 项目中,您需要导入一些可绘制对象 - 工具栏图标、图像、UI 功能 - 在 res/drawable
目录中。大多数时候,您会针对最常见的限定符(drawable-hdpi
、drawable-mdpi
、drawable-xdpi
、drawable-xxdpi
、...)缩放图像。
所以我们需要为每个 drawable 做三个、四个、甚至五个文件 copy/pastes:
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 中实现的某些功能?一些简单的解决方法?
到目前为止,我的工作流程是:
- copy/paste从OS文件管理器,从外部目录到包,然后在AndroidStudio中刷新资源文件。这意味着打开每个符合条件的子目录,所以四步;
- 从 OS 文件管理器,移动到
external_dir
,搜索file.png
,将四个实例放在一个列表中,拖放到 Android Studio,然后对于每张图片,右键单击导航栏,Copy
,并在相应的包目录中单击Paste
。并没有更好!
有什么建议吗?
编辑 - 我并不是真的要求 "advices" 当然 - 我想知道是否有办法将移动次数减少到一个(或这样)。
我在 2017 年 1 月 16 日的回答。
两年后,AndroidStudio 有办法导入Image Assets
。但我想添加一条新评论。 Android 现在支持 Vectors
,所以我们不用担心不同的分辨率。我建议使用 Vector
和 VectorDrawable
.
只需在 Project -> New -> Vector Asset
中右键单击您的应用名称。
只需按照向导操作即可。
此致,佩德罗。
我在 2015 年 2 月 18 日的回答。
如果我没有误解的话,这就是我在 Android Studio (AS) 项目中所做的。
我发现我们只需要导入最高分辨率的资源; AS 会为你扩展它们。我要求我的设计师只生成 xxhdpi 文件然后。
您转到 Project
导航器中的 /res
文件夹,右键单击并 select New -> Image Asset
Asset Studio
会弹出
在那里你可以,
- Select 您的资产类型
[ Launcher Icon, Action bar icons, Notification icons ]
- 浏览你的原始文件
- 为您的资源命名
完成所有信息后。您的资源将在 AS 中导入。
作为一般说明。对于启动器图标以外的内部图标,我 select 编辑为 "launch icon" 类型,它们工作得很好。
希望对您有所帮助。
最好,佩德罗。
好像是把资源拖拽到AS。例如。我们有一堆图像,我们抓取所有 xxhdpi 图像并将它们放入 AS,然后它会询问您这些图像的分辨率,因此我们从 pouup xxhdpi 中选择。然后,xhdpi 中的所有图像再次从中选择 xhdpi弹出,这就是将资产导入 A.S 的方法。以此类推。
正如 Rob Meeuwisse 在上面的评论中提到的,您可以在一次复制和粘贴操作中完成。您可以 select 所有四个 drawable-XXXX
文件夹 (不是图像本身!),而不是一个一个地复制和粘贴每个文件! 25=]文件管理器同时(通过Ctrl
-点击Windows/Linux或Command
-点击OSX),复制所有这些文件夹,然后粘贴到Android Studio 中的 res
文件夹。
图像将自动粘贴到 res
中相应的可绘制文件夹中。这是可行的,因为如果 Android Studio 注意到您正在复制和粘贴项目中已存在的文件夹,它只会使用现有文件夹并粘贴缺少的内容,而不是 replace/discard已经在那里了。
我通常用一种非常简单的方式来做:我使用 this 工具直接在正确的文件夹名称中生成我的图像:你只需要打开该工具并将更大的图像拖到它上面(EG :您要用于 xhdpi 文件夹或 xxhdpi 文件夹的那个):该工具将在原始图像的文件夹中创建包含正确缩放图像的所有其他文件夹(mdpi、ldpi、hdpi 等)。 一旦你有了这个文件夹,你只需将它们粘贴到 res 文件夹中,完成!
在您的 Android Studio 中,右键单击 drawable -> New -> Image Asset -> Asset Type:Action Bar and Tab Icons。 图片文件:image_path, 资源名称:图片名称 -> 下一步 -> 完成
完成
这将添加 4 种不同尺寸的图片,以便根据设备尺寸进行调整
使用 Mac OS X Finder 您可以简单地 copy/paste 文件夹 drawable-mdpi
、drawable-hdpi
、 drawable-xdpi
、drawable-xxdpi
一次移动到 my_package/
,然后 select 在出现的 Finder 对话框中选择 Merge 选项。这会将新文件添加到 my_package/
.
但是,请注意,只有在源文件夹和目标文件夹不包含任何同名文件的情况下才有可能。
如果您从 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
复制各种来源 mdpi
、hdpi
等目录,并为您将它们与现有目录合并。如果你的图标包目录结构不同,修改第一个参数为cp
.
- Select "res" 目录
- 右击 select "Compare with"
- 找到您的可绘制对象所在的目录
- 隐藏传出更改
- Select 所有传入的更改并单击箭头同步。
最简单和最快的方法是仅当您的图像位于已经格式化的文件夹中时,一次复制粘贴所有内容,如下所述。
从 Meterial Icons 下载任何图像 here
下载的文件夹包含所有级别的可绘制文件夹(mdpi、 hdpi, 等..)
复制所有文件夹粘贴到res文件夹,这里是文件夹 不只是替换新图像将要添加现有图像。
安装Android可绘制导入器
按照此 CompleteVideoTutorial 进行 安装 Android 可绘制导入器 和 导入技巧绘制非常快
从 Android 工作室 -> 转到配置 -> 插件。搜索 "Batch Drawable importer" 。 单击安装。 然后重启android工作室。
我发现最简单的方法是只复制文件或在启动器图标的情况下设置文件夹。
然后将它们粘贴到 AndroidStudio 中的 res 文件夹中。
[
对我来说效果很好。
自从 Android Studio 3.4 以来,这变得容易多了。
只需转到 Resource Manager
选项卡并单击小 add-button add resources to the module
。
[
然后 select 您要导入的可绘制对象。
如果您将可绘制对象放置在与限定符(drawable-mdpi、drawable-hdpi、drawable-xhdpi 等)同名的文件夹中,该工具将自动知道要添加它们。
我认为唯一还缺少的是将可绘制对象添加到特定的 flavorDimension。