温馨提示×

android progressdrawable如何实现进度动画

小樊
85
2024-08-27 19:34:14
栏目: 编程语言

在Android中,要实现ProgressDrawable的进度动画,可以使用ObjectAnimator或者ValueAnimator

  1. 首先,在XML布局文件中添加一个ProgressBar控件:
    android:id="@+id/progressBar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:max="100" />
  1. 在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秒。你可以根据需要调整动画的持续时间和进度范围。

0