如何为android创建矢量drawable?

the*_*urn 50 java svg android android-studio android-vectordrawable

我是新来的VectorDrawables.

我可以看到,默认vector drawables提供与Android工作室一样ic_menu_gallery,ic_menu_camera等都是伟大的工作.所以我尝试vector drawables通过将我转换png imagessvg第一个并使用路径和填充值来制作矢量drawables 来创建我自己的东西,即替换svg文件中的android:pathDatafor d和android:fillColorfill标签.它以某种方式给了矢量drawables但扭曲或curlituted看.

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

Ahm*_*deh 73

您可以使用Android Studio.将png转换为svg文件在线工具PNG到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" />
Run Code Online (Sandbox Code Playgroud)

要么

imageView.setColorFilter(getResources().getColor(android.R.color.black), PorterDuff.Mode.SRC_IN);
Run Code Online (Sandbox Code Playgroud)

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

将SVG转换为Android drawable: inloop


suk*_*uku 35

这是将任何png/jpg转换为vector drawable的最佳方法:

  1. 下载软件InkScape

  2. 打开你的png并按照视频中显示的步骤将其转换为svg

  3. 使用SVG to Vector Drawable工具将svg转换为vector drawable.另一个工具svg2android并不总是有效,因为有时svg被不正确地转换为vector drawable

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

如果你已经有一个svg,那么从第3步开始.

  • @KirillKarmazin,我不是本教程的创建者。我也从中吸取了教训。 (2认同)

小智 14

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

https://materialdesignicons.com/

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

  1. 选择一个图标
  2. 单击"高级导出"
  3. 编辑设置
  4. 点击"查看矢量Drawable"或下载并将其放入您的项目:)


liv*_*ove 5

在 Android Studio 3.1 中:

File-> New ->Vector Asset

资产类型:选择本地文件

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

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


小智 5

步骤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。

干杯!!