Handler消息机制下的Progressbar进度条动态展示

Progressbar进度条的使用中,通过Handler消息机制实现动态展示,用户可以实时观察进度条中的进度和数值变化

进度条动态变化流程

  1. 初始化Handler:创建一个Handler实例,用于处理主线程和子线程之间的通信。
  2. 更新进度:在子线程中发送消息给Handler,通过Handler更新UI线程中的进度条。
  3. 显示数值:在进度条上动态显示数值,使用户能够看到当前进度的百分比。

示例代码

以下是实现该进度条的简单代码示例:

// Handler的初始化
Handler handler = new Handler(new Handler.Callback() {
    @Override
    public boolean handleMessage(Message msg) {
        // 更新进度条的进度和显示数值
        progressBar.setProgress(msg.arg1);
        textView.setText(msg.arg1 + "%");
        return true;
    }
});

// 子线程更新进度
new Thread(new Runnable() {
    @Override
    public void run() {
        for (int i = 0; i <= 100; i++) {
            Message msg = handler.obtainMessage();
            msg.arg1 = i;
            handler.sendMessage(msg);
            try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); }
        }
    }
}).start();

该代码展示了如何利用Handler机制在进度条中显示动态进度。

zip 文件大小:1.94MB