是否可以使用 xml 矢量绘图创建多色径向渐变?

问题描述 投票:0回答:1

我已经看到了线性渐变是如何完成的,就像这个答案:我们可以在 xml 中为 android 背景制作多颜色渐变吗?

每次我尝试使用径向渐变时,视口都无法渲染,所以我想我的语法可能是错误的,因为使用 aapt:attr 标签不会给出任何自动完成建议。如果有任何帮助,我将不胜感激。

android-drawable linear-gradients android-vectordrawable radial-gradients
1个回答
0
投票

是的,可以创建具有多色径向渐变的矢量绘图。

最简单的方法可能是导入现有的矢量资源(例如 SVG) 使用 Vector Studio 工具。

这是一个可绘制的示例:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:aapt="http://schemas.android.com/aapt"
    android:width="100dp"
    android:height="100dp"
    android:viewportWidth="100"
    android:viewportHeight="100">
  <path android:pathData="M50,50m-50,0a50,50 0,1 1,100 0a50,50 0,1 1,-100 0">
    <aapt:attr name="android:fillColor">
      <gradient 
          android:centerX="50"
          android:centerY="50"
          android:gradientRadius="50"
          android:type="radial">
        <item android:offset="0" android:color="#FFFF0000"/>
        <item android:offset="0.33" android:color="#FF008000"/>
        <item android:offset="0.66" android:color="#FF0000FF"/>
        <item android:offset="1" android:color="#FFFF0000"/>
      </gradient>
    </aapt:attr>
  </path>
</vector>
© www.soinside.com 2019 - 2024. All rights reserved.