【问题标题】:How to create vector drawables for android?如何为 android 创建矢量可绘制对象?
【发布时间】:2016-05-25 22:14:05
【问题描述】:

我是VectorDrawables 的新手。

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

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

【问题讨论】:

  • 请查看this答案。

标签: java android android-studio svg android-vectordrawable


【解决方案1】:

您可以使用 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

【讨论】:

  • 如何在v21下将颜色(无RGB颜色)更改为?attr/colorPrimary
  • 也许任何人都可以提供帮助...我正在尝试使用 autotracer.org 和 inloop.github.io/svg2android 将 ibb.co/SdZjjTH 转换为 xml。它可以工作,但是当我尝试在我的应用程序中使用它时,应用程序崩溃了。你能检查它是否适合你吗?谢谢!
【解决方案2】:

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

  1. 下载软件InkScape

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

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

  4. 将代码复制到新的可绘制资源文件中。现在它可以用作普通的drawable了。

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

【讨论】:

  • @KirillKarmazin,我不是本教程的创建者。我也从中吸取了教训。
【解决方案3】:

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

https://materialdesignicons.com/

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

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

【讨论】:

  • 它节省了我很多时间
【解决方案4】:

第 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。

干杯!!

【讨论】:

    【解决方案5】:

    在 Android Studio 3.1 中:

    文件 -> 新建-> 矢量素材

    资产类型:选择本地文件

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

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

    【讨论】:

      【解决方案6】:

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

      【讨论】:

        【解决方案7】:

        你可以使用 Asset Studio 来做

        File -> New -> Vector Asset -> Configure 
        

        【讨论】:

          【解决方案8】:

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-10-26
            • 1970-01-01
            • 2016-11-04
            • 1970-01-01
            • 2019-01-01
            相关资源
            最近更新 更多