Android Vector:为什么不采用笔触颜色?

问题描述

我从博主那里获取一个矢量xml文件,现在得到的结果与他不同。使用他的矢量,您可以清楚地看到边缘,而使用我的矢量,它们仅具有颜色渐变。但是,如果我用单调颜色替换渐变,则笔触颜色突然变得可见。下面是带有颜色渐变的代码,这是博客链接https://blog.stylingandroid.com/vectordrawable-gradients-part1/

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

    <path
        android:pathData="M1,1 H99 V99 H1Z"
        android:strokeColor="#000000"
        android:strokeWidth="4">
        <aapt:attr name="android:fillColor">
            <gradient
                android:endColor="#111111"
                android:endX="50"
                android:endY="99"
                android:startColor="#0000ff"
                android:startX="50"
                android:startY="1"
                android:type="linear" />
        </aapt:attr>
    </path>
</vector>

解决方法

fillColor已经涵盖了它,您可以尝试使用它。

<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="96dp"
android:height="94dp"
android:viewportWidth="100"
android:viewportHeight="100">

<path
    android:pathData="M1,1 H99 V99 H1Z">
    <aapt:attr name="android:fillColor">
        <gradient
            android:endX="50"
            android:endY="99"
            android:startX="50"
            android:startY="1"
            android:startColor="#0000ff"
            android:endColor="#111111"
            android:type="linear">

        </gradient>
    </aapt:attr>

</path>

<path android:strokeWidth="4"
    android:strokeColor="#000000"
    android:pathData="M1,1 H99 V99 H1Z" />

</vector>