ProgressBar
xml
<ProgressBar
android:id="@+id/timer"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="35dp"
android:layout_below="@id/tv_body"
android:layout_marginTop="200dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:max="100" // 总进度量
android:progress="5" //默认初始进度
android:secondaryProgress="15" //二级进度条进度(预加载显示)
/>
创建一个继承handler的类 并且重写handleMessage方法
public ProgressBar mProgressBar;
final int TIME = 100; // 定义总共时长
private int mProgressStatus = 0; // 定义完成的进度
final int TIMER_MSG = 0x001; // 消息编号
class TimerHandler extends Handler {
// 定义周期性显示的图片
@Override
public void handleMessage(@NonNull Message msg) {
super.handleMessage(msg);
if (TIME > mProgressStatus) {
// 当前进度没完成
mProgressStatus++;
mProgressBar.setProgress(mProgressStatus); // 更新进度
if (mProgressStatus + 10 <= 100) {
mProgressBar.setSecondaryProgress(mProgressStatus + 10);
}
sendEmptyMessageDelayed(TIMER_MSG, 1000);
} else {
Toast.makeText(mContext, "播放完毕", Toast.LENGTH_SHORT).show();
}
}
}
在处理数据的方法中
this.mProgressBar = itemView.findViewById(R.id.timer);
timerHandler.sendEmptyMessage(TIMER_MSG); // 启动进度条
效果如下 可以随时间增加进度条