gpt4 book ai didi

android - 在 Canvas 上绘制渐变形状

转载 作者:搜寻专家 更新时间:2023-11-01 08:01:10 24 4
gpt4 key购买 nike

在 Canvas 上绘制一个具有 1 种基本颜色的矩形很容易。但是,我需要能够绘制一个具有渐变的形状,该渐变从一种颜色开始并均匀地转移到另一种颜色。

我习惯于使用 xml 文件绘制带有渐变的背景。在 Canvas 上绘制形状时有没有办法引用 xml 文件?或者有没有更好的绘制渐变形状的方法?

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<layer-list>
<item>
<shape>
<!-- Gradient Bg for Button -->
<gradient
android:startColor="@color/button_type1_pushed"
android:endColor="@color/button_type1_pushed"
android:angle="270" />
<stroke
android:width="0.05dp"
android:color="@color/button_type1_border"/>
</shape>
</item>
</layer-list>
</item>

<item android:state_enabled="true">
<layer-list>
<item>
<shape android:shape="rectangle">
<gradient
android:startColor="@color/button_type1_normal"
android:endColor="@color/button_type1_normal"
android:angle="90" />
<stroke
android:width="0.05dp"
android:color="@color/button_type1_border"/>
</shape>
</item>
</layer-list>
</item>
</selector>

最佳答案

您必须在绘画元素中创建一个着色器作为 LinearGradient,然后在 Canvas 中绘制一个矩形。

您可以通过绘制矩形的方式来设置水平和垂直渐变。

你可以看到一个代码示例here

关于android - 在 Canvas 上绘制渐变形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21057180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com