是否有一种方法来创建xxhdpi, xhdpi, hdpi, mdpi和ldpi绘制从一个大规模的图像自动?例如,假设我有一个512x512的图像,我想在适当的文件夹中有这个图像的不同版本,用于Android支持的不同屏幕分辨率。
当前回答
选项#1:只发布-xxhdpi绘制图,让Android在运行时为你对它们进行采样(缺点:只能在最近的设备上工作,其中-xxhdpi是已知的)。
选项2:使用Android Asset Studio对它们进行采样。
选项3:根据ssantos的回答,在图形编辑器中自动化这个过程。
选项4:自己编写解决方案的脚本,使用ImageMagick之类的东西。
选项#5:使用图像烘焙器
其他回答
使用像Image Baker这样的在线服务。
这很简单。在Android和iOS上上传图片和下载处理过的资产。
注:Image Baker是我的朋友和我自己创建的免费服务。
我在Eclipse中使用一个名为Android Icon Set的工具来设置标准图标,如Launcher、ActionBar、Tab图标和通知图标。你可以从File -> New -> Other..——> Android——> Android Icon Set。最好的部分是,你可以从你的电脑选择任何文件,它会自动将所有标准大小的图像放入你的项目目录。
更新:
旧的安装插件的方式已经不工作了,但是原始插件的一个分支仍然在这里发挥作用。在手动安装插件后,您仍然可以遵循这个答案。
如果你想要快速简单的方法,请访问https://www.img-bak.in/或https://appicon.co/,他们也支持iOS。
我将试着一步一步地解释这个过程,这样任何人都能容易理解。
1. 按照ReadME中提供的手动安装插件
2. 重启android studio
3.正如你在下面的屏幕截图中看到的,这里只有一个可绘制的
4. 现在右键单击可绘制文件夹并导航到新建>批量可绘制导入
5. 现在选择“单一”的图像,你想要不同的变化绘制。
6. 现在选择原始图像的维度。如果源图像是xxhdpi,就像我的例子一样,选择“xxhdpi”作为“源分辨率”。
7. 现在按ok再ok ..然后会花几秒钟然后你会神奇地得到所有的变量。
还可以将Vector Asset Studio与可缩放矢量图形(Scalable Vector Graphics, SVG)结合使用。Android Studio将为您处理其余的工作。正如官方文件所说:
矢量资产工作室帮助您添加材质图标和导入可缩放 矢量图形(SVG)文件到你的应用程序项目作为一个绘图 资源。与栅格图像相比,矢量绘图可以降低图像的分辨率 你的应用程序的大小,并在不损失图像质量的情况下调整大小。他们 帮助您更轻松地支持不同的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。
现在你将有你的图标,你将能够改变大小,颜色等。
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 碎片中的onCreateOptionsMenu
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值
- 如何生成字符串类型的buildConfigField
- Recyclerview不调用onCreateViewHolder
- Android API 21工具栏填充
- Android L中不支持操作栏导航模式
- 如何在TextView中添加一个子弹符号?
- PreferenceManager getDefaultSharedPreferences在Android Q中已弃用
- 在Android Studio中创建aar文件