博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android progressbar 水平进度条
阅读量:7091 次
发布时间:2019-06-28

本文共 2357 字,大约阅读时间需要 7 分钟。

my_bar.xml //配置进度条的图片 @drawable/ok @drawable/no 为图片保存在drawable文件夹中 布局文件中进度条配置
android:id="@+id/bar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:max="100" style="@android:style/Widget.ProgressBar.Horizontal" />
android:id="@+id/bar2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:max="100" android:progressDrawable="@drawable/my_bar"
style="@android:style/Widget.ProgressBar.Horizontal" />

  activity中调用

1 public class ProgressBarTest extends Activity 2 { 3     //该程序模拟填充长度为100的数组 4     private int[] data = new int[100]; 5     int hasData = 0; 6     //记录ProgressBar的完成进度 7     int status = 0;     8     @Override 9     public void onCreate(Bundle savedInstanceState)10     {11         super.onCreate(savedInstanceState);12         setContentView(R.layout.main);13         final ProgressBar bar = (ProgressBar) findViewById(R.id.bar);14         final ProgressBar bar2 = (ProgressBar) findViewById(R.id.bar2);15         //创建一个负责更新的进度的Handler16         final Handler mHandler = new Handler()17         {18             @Override19             public void handleMessage(Message msg)20             {21                 //表明消息是由该程序发送的。22                 if (msg.what == 0x111)23                 {24                     bar.setProgress(status);25                     bar2.setProgress(status);26                 }27             }28         };29         //启动线程来执行任务30         new Thread()31         {32             public void run()33             {34                 while (status < 100)35                 {36                     // 获取耗时操作的完成百分比37                     status = doWork();38                     // 发送消息到Handler39                     Message m = new Message();40                     m.what = 0x111;41                     // 发送消息42                     mHandler.sendMessage(m);43                 }44             }45         }.start();46     }47     //模拟一个耗时的操作。48     public int doWork()49     {50         //为数组元素赋值51         data[hasData++] = (int)(Math.random() * 100);52         try53         {54             Thread.sleep(100);55         }56         catch (InterruptedException e)57         {58             e.printStackTrace();59         }60         return hasData;61     }62 }

 

转载于:https://www.cnblogs.com/songyao/p/4072953.html

你可能感兴趣的文章
k8s技术预研14--kubernetes API详解
查看>>
植物的Transcription Factor挖掘笔记
查看>>
你不得不读的书籍清单
查看>>
java源码-ArrayList
查看>>
k8s最佳实践
查看>>
python 获取VM物理机信息
查看>>
npm使用指南
查看>>
WPF文字描边的解决方法(二)——支持文字竖排和字符间距调整
查看>>
Android项目实战(四十五):Usb转串口通讯(CH34xUARTDriver)
查看>>
终于弄明白了Eclipse中Maven和SVN,真不容易!
查看>>
千鸟互联完成数千万元A+轮融资,从废纸回收切入打造工业纸产业闭环
查看>>
EDAS staragent 排查
查看>>
rocketMq-consumer介绍
查看>>
MySQL必须调整的10项配置优化
查看>>
【译】编写更好的CSS必备的40个工具
查看>>
Retrofit--合理封装回调能让你的项目高逼格
查看>>
Visual D 0.49.0 发布,支持 Visual Studio 2019
查看>>
[原创]同一个Tomcat,配置多个context、多个Host
查看>>
OSDI '18重磅解密:蚂蚁金服实时金融级分布式图数据库GeaBase
查看>>
Spring(十四)之编程性事务(续)
查看>>