android进度条以及线程

本文介绍了Android中进度条的常用属性,如style和progress,并讲解了线程休眠的方法,包括Thread.sleep()和SystemClock.sleep()的区别。同时强调了线程使用时的注意事项,如耗时操作必须在子线程,且子线程不能直接修改主线程控件,但ProgressBar是例外。还提到了需要创建Handler子类来处理主线程和子线程的通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 常用属性
style=”?android:attr/progressBarStyleHorizontal” 默认为圆形
android:progress=”33” ps:这是一个需要变化的属性
android:max=”100” ps:这是进度条的最大属性

<ProgressBar
        android:id="@+id/pb_main_pb1"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:max="100" />

线程休眠
Thread.sleep(100);//抛异常
SystemClock.sleep(100);//不会抛异常

 try {
                   Thread.sleep(100);
               } catch (InterruptedException e) {
                   e.printStackTrace();
               }
               if (progress==100){
                   progress=0;
                   break;
               }
               Message msg=new Message();
               msg.what=1;
               myHandler.sendMessage(msg);

2 线程注意事项:
不能在主线程中执行耗时的操作,只能在子线程中操作
另外,在子线程中不能操作主线程中的控件(ProgressBar除外)
(1):这里需要注意一点 先创建一个类去继承Handler

private  myHandler myHandler=new myHandler();

     private class myHandler extends Handler{
         @Override
         public void handleMessage(Message msg) {
             super.handleMessage(msg);
             if (code==msg.what){
                 progress++;
                 pb_main_pb1.setProgress(progress);
                 tv_main_tv1.setText(progress+"%");
             }

         }
     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值