如何为 Android 创建矢量绘图?

新手上路,请多包涵

我是 VectorDrawables 的新手。

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

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

原文由 theUturn 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 670
2 个回答

你可以使用安卓工作室。将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

原文由 Ahmad Aghazadeh 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

  1. 下载软件 InkScape

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

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

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

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

原文由 suku 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题