在Android中,要实现ProgressDrawable的进度动画,可以使用ObjectAnimator
或者ValueAnimator
ProgressBar
控件: android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100" />
ValueAnimator
对象,设置动画的起始值和结束值,然后设置动画的持续时间。接着,为ValueAnimator
设置一个更新监听器,用于更新ProgressBar
的进度值。最后,调用start()
方法启动动画。import android.animation.ValueAnimator;
import android.os.Bundle;
import android.widget.ProgressBar;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ProgressBar progressBar = findViewById(R.id.progressBar);
ValueAnimator animator = ValueAnimator.ofInt(0, 100);
animator.setDuration(3000); // 设置动画持续时间为3秒
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
int progress = (int) animation.getAnimatedValue();
progressBar.setProgress(progress);
}
});
animator.start();
}
}
这样,当应用运行时,ProgressBar
将会显示一个从0%到100%的进度动画,动画持续时间为3秒。你可以根据需要调整动画的持续时间和进度范围。