在Android中,要在動畫中使用LinearGradient,你需要遵循以下步驟:
LinearGradient linearGradient = new LinearGradient(0, 0, getWidth(), getHeight(), startColor, endColor, Shader.TileMode.CLAMP);
Paint paint = new Paint();
paint.setShader(linearGradient);
ValueAnimator animator = ValueAnimator.ofFloat(0f, 1f);
animator.setDuration(1000);
animator.setRepeatCount(ValueAnimator.INFINITE);
animator.setInterpolator(new LinearInterpolator());
onAnimationUpdate
方法中,更新LinearGradient對象的屬性,例如起始位置。animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float value = (float) animation.getAnimatedValue();
linearGradient.setStart(value);
linearGradient.setEnd(1 - value);
invalidate(); // 重繪視圖
}
});
onDraw
方法中,使用帶有LinearGradient的Paint對象繪制內(nèi)容。@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawRect(0, 0, getWidth(), getHeight(), paint);
}
animator.start();
這樣,你就可以在Android動畫中使用LinearGradient了。請注意,這里的示例代碼是用Java編寫的,如果你使用Kotlin,可以相應地調(diào)整語法。