You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Jetpack Compose创建带渐变和多色的VectorDrawable?

自定义VectorDrawable:渐变、填充动画与闪光效果实现

这是一个分享知识的问答内容,灵感源自Stack Exchange上的相关问题,我们为VectorDrawable新增了渐变、填充/清空动画以及闪光效果,最终实现的效果如下:

效果演示动图

第一个Drawable

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24"
    android:viewportHeight="24"
    android:tint="?attr/colorControlNormal">
  <path
      android:fillColor="#EC407A"
      android:pathData="M12,21.35l-1.45,-1.32C5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3c1.74,0 3.41,0.81 4.5,2.09C13.09,3.81 14.76,3 16.5,3 19.58,3 22,5.42 22,8.5c0,3.78 -3.4,6.86 -8.55,11.54L12,21.35z"/>
</vector>

时钟Drawable

<vector
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:width="24dp"
  android:height="24dp"
  android:tint="?attr/colorControlNormal"
  android:viewportHeight="24"
  android:viewportWidth="24">
  <group
    android:name="button"
    android:translateX="12"
    android:translateY="12">
    <group
      android:name="button_pivot"
      android:translateX="-12"
      android:translateY="-12">
      <group
        android:name="right_button"
        android:translateX="19.0722"
        android:translateY="4.5758">
        <path
          android:name="path_1"
          android:fillAlpha="1"
          android:fillColor="@android:color/white"
          android:pathData="M 2.9409942627,1.16249084473 c 0,0 -4.59599304199,-3.85699462891 -4.59599304199,-3.85699462891 c 0,0 -1.2859954834,1.53300476074 -1.2859954834,1.53300476074 c 0,0 4.59599304199,3.85600280762 4.59599304199,3.85600280762 c 0,0 1.2859954834,-1.53201293945 1.2859954834,-1.53201293945 Z"/>
      </group>
      <group
        android:name="left_button"
        android:translateX="4.9262"
        android:translateY="4.5729">
        <path
          android:name="left_button_path"
          android:fillAlpha="1"
          android:fillColor="@android:color/white"
          android:pathData="M 2.9409942627,-1.16250610352 c 0,0 -1.2859954834,-1.53199768066 -1.2859954834,-1.53199768066 c 0,0 -4.59599304199,3.85600280762 -4.59599304199,3.85600280762 c 0,0 1.2859954834,1.53300476074 1.2859954834,1.53300476074 c 0,0 4.59599304199,-3.8570098877 4.59599304199,-3.8570098877 Z"/>
      </group>
    </group>
  </group>
  <group
    android:name="alarm"
    android:translateX="12"
    android:translateY="12">
    <group
      android:name="alarm_pivot"
      android:translateX="-12"
      android:translateY="-12">
      <group
        android:name="alarm_hands"
        android:translateX="13.75"
        android:translateY="12.4473">
        <path
          android:name="alarm_hands_path"
          android:fillAlpha="1"
          android:fillColor="@android:color/white"
          android:pathData="M -1.25,-4.42700195312 c 0,0 -1.5,0 -1.5,0 c 0,0 0,6.0 0,6.0 c 0,0 4.74699401855,2.85400390625 4.74699401855,2.85400390625 c 0,0 0.753005981445,-1.23199462891 0.753005981445,-1.23199462891 c 0,0 -4.0,-2.37200927734 -4.0,-2.37200927734 c 0,0 0,-5.25 0,-5.25 Z"/>
      </group>
      <group
        android:name="alarm_body"
        android:translateX="12"
        android:translateY="13.0203">
        <path
          android:name="alarm_outline_path"
          android:fillAlpha="1"
          android:fillColor="@android:color/white"
          android:pathData="M -0.0050048828125,-9 c -4.97399902344,0 -8.99499511719,4.0299987793 -8.99499511719,9 c 0,4.9700012207 4.02099609375,9 8.99499511719,9 c 4.97399902344,0 9.00500488281,-4.0299987793 9.00500488281,-9 c 0,-4.9700012207 -4.03100585938,-9 -9.00500488281,-9 Z M 0,7 c -3.86700439453,0 -7,-3.13400268555 -7,-7 c 0,-3.86599731445 3.13299560547,-7 7,-7 c 3.86700439453,0 7,3.13400268555 7,7 c 0,3.86599731445 -3.13299560547,7 -7,7 Z"/>
      </group>
    </group>
  </group>
</vector>

内容的提问来源于stack exchange,提问作者Thracian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 03:25:05