我已经分配了一个渐变作为填充颜色给我的矢量可绘制。奇怪的是,渐变现在也被用作笔划颜色,尽管我实际上为笔划颜色指定了一个单独的颜色。有人知道这是怎么回事吗?
<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>发布于 2020-08-23 18:24:24
如果对矢量可绘制填充颜色和笔触颜色使用相同的绘画,则需要在每次实际绘制之前指定正确的颜色。或者你可以考虑使用不同的油漆来避免这个问题。
更新Ok,忘记上面的段落。使用代码,我发现如果更改为下面的代码,它可以工作:
<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>希望这能解决你的问题!
https://stackoverflow.com/questions/63545534
复制相似问题