67

我是新手VectorDrawables

我可以看到vector drawablesandroid studio 提供的默认值,如ic_menu_gallery,ic_menu_camera等运行良好。vector drawables因此,我尝试通过将 my 转换png imagessvgfirst 并使用路径和填充值来制作矢量可绘制对象来创建自己的,即替换 svg 文件中的android:pathDatafor d 和android:fillColorfor fill 标签。它以某种方式提供了矢量可绘制对象,但外观扭曲或弯曲。

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

4

8 回答 8

95

您可以使用 Android Studio。在线转换 png 到 svg 文件的工具PNG 到 SVG
文件 -> 新建 -> 矢量资源

您可以选择材质图标或本地 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

于 2016-02-15T06:02:14.060 回答
44

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

  1. 下载软件InkScape

  2. 在其中打开您的 png,然后按照视频中显示的步骤将其转换为 svg

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

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

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

于 2016-11-03T09:43:41.957 回答
17

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

https://materialdesignicons.com/

有许多图标,通过“高级导出”,您可以轻松编辑设置。对我来说,这是创建矢量可绘制的最快和最简单的方法,如果您不想下载文件,您可以查看代码并复制它,不仅作为矢量绘制,甚至作为 SVG 或 XAML。哦,它是免费的:)

  1. 选择一个图标
  2. 点击高级导出
  3. 编辑设置
  4. 点击“View Vector Drawable”或者下载并放到你的项目中:)
于 2017-08-27T13:02:08.887 回答
6

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

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

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

干杯!!

于 2018-09-01T08:37:44.860 回答
4

在 Android Studio 3.1 中:

File-> New ->Vector Asset

资产类型:选择本地文件

单击路径以选择 .svg 或 .psd 文件

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

于 2018-04-18T16:43:17.197 回答
2

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

于 2016-06-25T03:56:01.773 回答
0

您可以使用 Asset Studio 来完成

File -> New -> Vector Asset -> Configure 
于 2021-05-31T16:02:10.493 回答
-1

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

在此处输入图像描述

选择剪贴画(使用现有图标)从本地文件中选择并添加。您可以以理智的方式添加颜色图标。

于 2019-08-15T04:38:28.540 回答