在Android中,要為GradientDrawable實現動畫效果,可以使用屬性動畫(Property Animation)。以下是一個簡單的示例,展示了如何使用屬性動畫為GradientDrawable的邊框寬度和顏色添加動畫效果。
GradientDrawable gradientDrawable = new GradientDrawable();
gradientDrawable.setShape(GradientDrawable.RECTANGLE);
gradientDrawable.setCornerRadius(10);
gradientDrawable.setStroke(5, Color.BLACK);
gradientDrawable.setColor(Color.BLUE);
ObjectAnimator strokeAnimator = ObjectAnimator.ofInt(gradientDrawable, "strokeWidth", 5, 15);
strokeAnimator.setDuration(2000);
strokeAnimator.setRepeatCount(ObjectAnimator.INFINITE);
strokeAnimator.setRepeatMode(ObjectAnimator.RESTART);
ObjectAnimator colorAnimator = ObjectAnimator.ofArgb(gradientDrawable, "color", Color.BLUE, Color.RED);
colorAnimator.setDuration(2000);
colorAnimator.setRepeatCount(ObjectAnimator.INFINITE);
colorAnimator.setRepeatMode(ObjectAnimator.RESTART);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(strokeAnimator, colorAnimator);
animatorSet.start();
這樣,GradientDrawable的邊框寬度和顏色將在2秒內無限循環動畫。你可以根據需要自定義動畫的參數,例如持續時間、重復次數和重復模式等。