如何在Canvas中使用颜色变化在Android中绘制渐变颜色?

Gre*_*reg 9 shader android gradient canvas

我需要使用阴影/渐变来绘制我的Canvas一种颜色的背景,但是每次onDraw调用我都希望改变颜色.

我没有在每次onDraw调用时创建一个新对象时遇到麻烦.有人有主意吗?如果我使用drawPaint()并为我的绘画设置一个新的着色器(),那么我创建了一个新的着色器对象,如果我创建一个新的GradientDrawable(),我也有.我想避免使用GC.

我以为我可以重用一个GradientDrawable()对象并调用.setColor()方法,但这只会重置与之关联的任何渐变数据,并将drawable绘制为纯色.

任何人?

Rom*_*Guy 6

不幸的是,您每次都必须创建一个新的LinearGradient.请注意,您不必使用GradientDrawable,您可以使用您在其上设置着色器的Paint自行绘制形状.