如何为机器人创建矢量可绘制对象?

我是 新来的.VectorDrawables

我可以看到,Android工作室提供的默认值,如,等,效果很好。因此,我尝试通过将我的转换为第一个并使用路径和填充值来创建自己的矢量可绘制对象,即替换svg文件中的for d和for填充标签。它以某种方式给出了矢量可绘制对象,但看起来扭曲或弯曲。vector drawablesic_menu_galleryic_menu_cameravector drawablespng imagessvgandroid:pathDataandroid:fillColor

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


答案 1

您可以使用Android Studio。将png转换为svg文件在线工具PNG到SVG
File - > New -> Vector Asset

You can choose Material Icon or Local SVG file

对于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


答案 2

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

  1. 下载软件 InkScape

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

  3. 使用 SVG 转矢量可绘制工具将 svg 转换为矢量可绘制。另一个工具svg2android并不总是有效,因为有时svg被错误地转换为矢量可绘制的

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

如果您已经有一个 svg,请从步骤 3 开始。