好记性不如烂笔杆-android学习笔记<六> ProgressBar简单使用
2012-11-20 16:21
483 查看
16,//ProgressBar使用
xml文件中定义ProgressBar
//水平进度条
//默认圆圈形状滚动风格 style="?android:attr/progressBarStyle"
//Java文件,点击按钮启动滚动条
17,//ProgressBar和Handler
//main.xml文件中
//Java文件中
//启动按钮
这一部分可能有点问题,先记录这里
xml文件中定义ProgressBar
//水平进度条
<ProgressBar android:id="@+id/firstBar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="200dp" android:layout_height="wrap_content" android:visibility="gone"<!--默认状态不可见 --> />
//默认圆圈形状滚动风格 style="?android:attr/progressBarStyle"
//Java文件,点击按钮启动滚动条
private int i = 0; @Override public void onClick(View v) { // TODO Auto-generated method stub if(i == 0){ //设置进度条处于可见的状态 firstBar.setVisibility(View.VISIBLE); secondBar.setVisibility(View.VISIBLE); }else if(i < firstBar.getMax()){ //设置主进度条的当前值 firstBar.setProgress(i); //设置第二进度条的当前值 firstBar.setSecondaryProgress(i + 10); //因为默认的进度条无法显示进行的状态 //secondBar.setProgress(i); } else{ firstBar.setVisibility(View.GONE); secondBar.setVisibility(View.GONE); } //进度条总长度的10%,逐次增加 i = i + 10; }
17,//ProgressBar和Handler
//main.xml文件中
<ProgressBar android:id="@+id/handlerBar" android:layout_width="200dip" android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal" android:visibility="gone" />
//Java文件中
//启动按钮
启动按钮 onClick(View v) { //调用方法将进度条设置为可见状态 bar.setVisibility(View.VISIBLE); //将第一个线程添加到线程队列中 updateBarHandler.post(updateThread); } //使用匿名内部类来复写Handler当中的handerMessage方法 Handler updateBarHandler = new Handler(){ @Override public void handleMessage(Message msg) { //设置ProgressBar的当前值 bar.setProgress(msg.arg1); //将线程添加到线程队列中 updateBarHandler.post(updateThread); } }; //线程类,该类使用匿名内部类的方式进行声明 Runnable updateThread = new Runnable(){ int i = 0; @Override public void run() { System.out.println("Begin Thread " + i); i = i + 10 ; //得到一个消息对象,Message类是由Android操作系统提供 Message msg = updateBarHandler.obtainMessage(); //将msg对象的arg1参数的值设置为i,用arg1和arg2这两个成员传递消息,优点是系统性能消耗较少 msg.arg1 = i ; try{ //设置前线程睡眠1000ms Thread.sleep(1000); }catch(InterruptedException e){ e.printStackTrace(); } if(i <= 100){ //将msg对象加入到消息队列当中 updateBarHandler.sendMessage(msg); } else{ //如果当i的值为100时,就将线程对象从handler当中移除,Progress停止 updateBarHandler.removeCallbacks(updateThread); } } };
这一部分可能有点问题,先记录这里
相关文章推荐
- 好记性不如烂笔杆-android学习笔记<八> Broadcase简单用法
- 好记性不如烂笔杆-android学习笔记<十二> Toast的使用
- 好记性不如烂笔杆-android学习笔记<十五> GridView简单用法
- 好记性不如烂笔杆-android学习笔记<三> RadioGroup 和 CheckBox的使用
- 好记性不如烂笔杆-android学习笔记<四> 布局用控件简单介绍
- 如何使用CSS设置<input>标签的背景小图标 简单
- android学习笔记之SharePreferences简单使用
- Android UI设计之<一>使用ImageView实现ProgressBar旋转效果
- Android Netroid框架介绍及使用,又一简单粗暴的网络框架!<Garry进阶(二)>
- ProgressBar的简单使用
- Android学习笔记-ProgressBar和ListView使用方法(二)
- 好记性不如烂笔杆-android学习笔记<十> Dialog用法
- 好记性不如烂笔头73-多线程-继承thread实现简单多线程
- android学习笔记——AsyncTask异步消息处理机制简单介绍及使用
- UVa11988 <list>的简单使用
- ProgressBar的简单使用
- 自定义listview和ProgressBar的简单使用
- Android学习笔记-ProgressBar和ListView使用方法(一)
- 好记性不如烂笔杆-android学习笔记<七>Handle用法
- HTML5新增标签<audio>简单的使用