如何为 android 创建矢量绘图?

How to create vector drawables for android?

我是 VectorDrawables 的新手。

我可以看到 android 工作室提供的默认 vector drawables,如 ic_menu_galleryic_menu_camera 等,运行良好。因此,我尝试通过首先将我的 png images 转换为 svg 并使用路径和填充值制作矢量绘图来创建我自己的 vector drawables,即将 android:pathData 替换为 d 和 android:fillColor 用于 svg 文件中的填充标记。它以某种方式提供了矢量可绘制对象,但外观扭曲或变形。

如果我没有采取正确的方法,请提出建议。

您可以使用 Android Studio。 将 png 文件在线转换为 svg 文件 PNG to SVG

对于 SVG 颜色可以使用:

  <ImageButton
    android:layout_width="48dp"
    android:layout_height="48dp"
    android:id="@+id/button"
    android:src="@drawable/ic_more_vert_24dp"
    android:tint="@color/primary" />

或者

imageView.setColorFilter(getResources().getColor(android.R.color.black), PorterDuff.Mode.SRC_IN);

可以将SVG转PNG在线工具: coolutils

将 SVG 转换为 Android 可绘制对象: inloop

您可以使用 photoshop/illustrator 创建自己的 svg 图像或图标,并且可以导入矢量资产(在 android studio 2.+ 中可用)。如果 svg 很复杂或有很多元素,有时导入它会导致图像失真,那么您可以通过重叠 ImageView 将其用作单个元素作为矢量资产。

以下是将任何 png/jpg 转换为矢量可绘制对象的最佳方法:

  1. 下载软件InkScape

  2. 在其中打开您的 png 并按照 video 中显示的步骤将其转换为 svg

  3. 使用 SVG to Vector Drawable tool 将 svg 转换为矢量可绘制对象。另一个工具 svg2android 并不总是有效,因为有时 svg 会不正确地转换为矢量 drawable

  4. 将代码复制到新的可绘制资源文件中。现在这可以用作常规绘图。

如果您已经有了 svg,那么请直接从第 3 步开始。

我也遇到了这个问题,发现这个非常有用的网站:

https://materialdesignicons.com/

有很多图标,使用 "advanced export" 您可以轻松编辑设置。 对我来说,这是创建矢量可绘制对象最快和最简单的方法,如果您不想下载文件,您可以查看代码并复制它,不仅可以作为矢量可绘制对象,还可以作为 SVG 或 XAML. 哦,它是免费的:)

  1. 选择一个图标
  2. 点击高级导出
  3. 编辑设置
  4. 点击"View Vector Drawable"或下载并放入你的项目:)

在 Android Studio 3.1 中:

文件 -> 新建-> 矢量资源

资产类型:Select本地文件

点击路径选择 .svg 或 .psd 文件

如果您没有图片,请转至 Google 图片,高级图片搜索。 使用文件类型:SVG 文件

步骤 1 第一步是将其转换为SVG格式 - 对于黑白 SVG 转换器,有很多工具,但很少有用于彩色转换的好工具。 https://www.autotracer.org/ 是最好的之一,它对我有用。转换并下载 SVG 文件。 步骤 2- 在“Android Studio”中转到 drawables 文件夹并右键单击 select New - Vector Asset

第 3 步 - 选择从第 1 步下载的 SVG 文件。android Studio

步骤 4 - 不要忘记设置 navigationView.setItemIconTintList(null);如果在导航中使用彩色图标,则为 null drawer/view。

干杯!!

试试这个: 第 1 步:Drawable > New > Vector Asset

Select 剪贴画(使用现有图标) Select 来自本地文件 选择并 add.You 可以以理智的方式添加颜色图标。

您可以使用 Asset Studio 来完成

File -> New -> Vector Asset -> Configure