首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android:作为填充颜色的渐变会影响笔触颜色

Android:作为填充颜色的渐变会影响笔触颜色
EN

Stack Overflow用户
提问于 2020-08-23 17:45:19
回答 1查看 193关注 0票数 2

我已经分配了一个渐变作为填充颜色给我的矢量可绘制。奇怪的是,渐变现在也被用作笔划颜色,尽管我实际上为笔划颜色指定了一个单独的颜色。有人知道这是怎么回事吗?

代码语言:javascript
复制
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="28dp"
android:height="16dp"
android:viewportWidth="28"
android:viewportHeight="16">

<path
    android:strokeWidth="0.5"
    android:strokeColor="#000000"
    android:pathData="M0,0
                      v16
                      M28,0
                      v16
                      M6,12
                      q-2,0 -2,-2
                      v-4
                      q0,-2 2,-2
                      h9.567
                      a6,6 0 1,1 0,8
                      z">
    <aapt:attr name="android:fillColor">
        <gradient
            android:startY="8"
            android:startX="4"
            android:startColor = "#FF333333"
            android:endY="8"
            android:endX="26"
            android:endColor = "#FFFF0000"
            android:type="linear">
        </gradient>
    </aapt:attr>
</path>

</vector>
EN

回答 1

Stack Overflow用户

发布于 2020-08-23 18:24:24

如果对矢量可绘制填充颜色和笔触颜色使用相同的绘画,则需要在每次实际绘制之前指定正确的颜色。或者你可以考虑使用不同的油漆来避免这个问题。

更新Ok,忘记上面的段落。使用代码,我发现如果更改为下面的代码,它可以工作:

代码语言:javascript
复制
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:aapt="http://schemas.android.com/aapt"
    android:width="28dp"
    android:height="16dp"
    android:viewportWidth="28"
    android:viewportHeight="16">


    <path
        android:pathData="M0,0
                      v16
                      M28,0
                      v16
                      M6,12
                      q-2,0 -2,-2
                      v-4
                      q0,-2 2,-2
                      h9.567
                      a6,6 0 1,1 0,8
                      z">
        <aapt:attr name="android:fillColor">
            <gradient
                android:startY="8"
                android:startX="4"
                android:startColor = "#FF333333"
                android:endY="8"
                android:endX="26"
                android:endColor = "#FFFF0000"
                android:type="linear">
            </gradient>
        </aapt:attr>
    </path>

    <path
        android:strokeWidth="0.5"
        android:strokeColor="#000000"
        android:pathData="M0,0
                      v16
                      M28,0
                      v16
                      M6,12
                      q-2,0 -2,-2
                      v-4
                      q0,-2 2,-2
                      h9.567
                      a6,6 0 1,1 0,8
                      z">
    </path>
</vector>

希望这能解决你的问题!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63545534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档