阅读量:0
在Android中,要实现ProgressDrawable的进度动画,可以使用ObjectAnimator
或者ValueAnimator
- 首先,在XML布局文件中添加一个
ProgressBar
控件:
android:id="@+id/progressBar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="100" />
- 在Java代码中,创建一个
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秒。你可以根据需要调整动画的持续时间和进度范围。