是的,Android的GradientDrawable可以用于動畫效果。你可以通過使用屬性動畫(Property Animation)來實現漸變動畫。以下是一個簡單的示例,展示了如何使用GradientDrawable和屬性動畫創建一個圓形漸變動畫:
res/drawable
目錄下創建一個名為gradient_drawable.xml
的文件,定義一個GradientDrawable:<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FF0000"
android:endColor="#0000FF"
android:angle="45"/>
<corners
android:radius="100dp"/>
</shape>
ImageView imageView = findViewById(R.id.imageView);
GradientDrawable gradientDrawable = (GradientDrawable) getResources().getDrawable(R.drawable.gradient_drawable);
imageView.setBackground(gradientDrawable);
ObjectAnimator colorAnimator = ObjectAnimator.ofFloat(gradientDrawable, "rotation", 0f, 360f);
colorAnimator.setDuration(2000); // 設置動畫持續時間
colorAnimator.setRepeatCount(ObjectAnimator.INFINITE); // 設置重復次數
colorAnimator.setInterpolator(new LinearInterpolator()); // 設置插值器
colorAnimator.start();
這樣,GradientDrawable就會以指定的角度進行旋轉動畫。你可以根據需要修改屬性動畫的參數,以實現不同的動畫效果。