是否有一种方法来创建xxhdpi, xhdpi, hdpi, mdpi和ldpi绘制从一个大规模的图像自动?例如,假设我有一个512x512的图像,我想在适当的文件夹中有这个图像的不同版本,用于Android支持的不同屏幕分辨率。


当前回答

使用Android Studio图像资产

至:

 Project>res --> right click

 new> image asset

然后设置:

-Icon type: Launcher Icons
-Asset type: Image
-Path: the/path/to/your/image
-Trim: No
-Padding: 0%
-Shape: None
-Effect: None

选择:Next > Finish。

Now you will have your icon in the correct resolutions.

编辑:我建议使用SVG图像来创建Vector Drawables,然后在画布中使用它们来调整它们的大小,或者简单地更改DP。

您可以从谷歌获取默认图标,也可以创建自己的图标

 Project>res --> right click
 new> vector asset

然后设置:

-Asset type: Local file (SVG, PSD)
-Path: the/path/to/your/image
-Size: check Override to keep your aspect ratio.
-Chek enable auto mirroring for RTL Layout.

选择:Next > Finish。

现在你将有你的图标,你将能够改变大小,颜色等。

其他回答

在新的Android Studio中找到了一个简单的方法:

更新:

之前提到的插件已经被放弃了,但它显然有一个最新的分支。

旧的回答:

我使用名为Android Drawable Importer的Android Studio插件:

要在安装后使用它,右键单击您的res/drawable文件夹,并选择New > Batch drawable Import:

然后通过+按钮选择你的图像,并将分辨率设置为xxhdpi(或任何你的源图像的分辨率)。

最简单的方法是使用资源管理器

然后你可以选择每个密度

导入后,你可以看到这张图片的6个不同版本

还可以将Vector Asset Studio与可缩放矢量图形(Scalable Vector Graphics, SVG)结合使用。Android Studio将为您处理其余的工作。正如官方文件所说:

矢量资产工作室帮助您添加材质图标和导入可缩放 矢量图形(SVG)文件到你的应用程序项目作为一个绘图 资源。与栅格图像相比,矢量绘图可以降低图像的分辨率 你的应用程序的大小,并在不损失图像质量的情况下调整大小。他们 帮助您更轻松地支持不同的Android设备与变化 屏幕大小和分辨率,因为你可以显示一个矢量 都可以画出来。

我认为这是未来的方法。

我写了一个Photoshop脚本,从PSD文件创建ic_launcher png文件。只需检查ic_launcher_export。

要使用它,只需下载它,并从photoshop中使用脚本。

并配置要生成输出文件的位置。