android - 了解 Android 的 VectorDrawable 属性

标签 android android-vectordrawable

我需要帮助来理解由 XML 定义的 VectorDrawable 的一些属性。

当我使用 Android Studio 导入一个新的矢量 Assets 时,它会生成如下内容:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportHeight="24.0"
    android:viewportWidth="24.0">

    <path 
        android:fillColor="#000000"
        android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z" />
</vector>

默认情况下,宽度、高度、viewportHeight 和 viewportWidth 被设置为一些默认的 Material design 值。

因为我们处理的是矢量而不是像素图像。我的问题是:

  • 为什么需要设置尺寸(宽度、高度等)?
  • 如果我需要对多种尺寸使用相同的矢量 xml,如何在不创建多个矢量 xml 的情况下覆盖这个 24dp 值,这当然会破坏整个目的!

最佳答案

在 xml 向量中添加 @dimen 会出错 错误:错误:宽度(0)和高度(0)不能<= 0

关于android - 了解 Android 的 VectorDrawable 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35683378/

相关文章:

android - 有没有办法在 AnimatedVectorDrawables 中监听动画结束

android - Android 中的矢量动态调整大小

android - 应用程序崩溃后清除状态栏中的通知

每次启动时的 Android 异步任务

android - 从数据库填充微调器

android - 如何使用 Android 矢量绘图作为 Activity 的背景?

android - 无效的可绘制标签动画矢量

android - 如何在按钮单击时更改矢量可绘制路径的颜色

android - AllShare Cast/Screen Cast 不适用于某些手机

javascript - 如何计算图像周围的计算透明区域?