Android ProgressBar 进度条
2011-12-15 16:56
363 查看
Android系统提供了两大类进度条样式,长形进度条和圆形进度条,下面我就讲解下长形进度条如何使用,效果图如下:
布局文件main.xml文件如下:
Activity代码如下:
布局文件main.xml文件如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ProgressBar android:id="@+id/pb" android:layout_marginLeft="10sp" android:layout_width="300sp" android:layout_height="20sp" android:layout_marginTop="10sp" style="?android:attr/progressBarStyleHorizontal" /> <Button android:id = "@+id/startButton" android:layout_marginTop="10sp" android:layout_marginLeft="20sp" android:layout_width="150sp" android:layout_height="40sp" android:text="Start" /> <Button android:id = "@+id/endButton" android:layout_marginTop="10sp" android:layout_marginLeft="20sp" android:layout_width="150sp" android:layout_height="40sp" android:text="End" /> </LinearLayout>
Activity代码如下:
package nyl.pbdemo; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ProgressBar; public class Main extends Activity { private Button startButton; private Button endButton; private ProgressBar pb; private int process_value = 500; //创建Handler对象 private Handler handler = new Handler(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //根据id获得控件对象 startButton = (Button)findViewById(R.id.startButton); endButton = (Button)findViewById(R.id.endButton); //为控件设置监听器 startButton.setOnClickListener(new StartButtonListener()); endButton.setOnClickListener(new EndButtonListener()); pb = (ProgressBar) findViewById(R.id.pb); //设置初始值和最大值 pb.setProgress(500); pb.setMax(pb.getMax()); } class StartButtonListener implements OnClickListener{ @Override public void onClick(View v) { //调用Handler的post()方法,将要执行的线程对象放到队列当中 handler.post(updateThread); } } class EndButtonListener implements OnClickListener{ @Override public void onClick(View v) { //调用Handler的removeCallbacks()方法,删除队列当中未执行的线程对象 handler.removeCallbacks(updateThread); } } //新建一个线程对象 Runnable updateThread = new Runnable(){ //将要执行的操作写在线程对象的run方法当中 public void run() { if (pb.getProgress() > 0) { //进度条的值 process_value -= 1; pb.setProgress(process_value); } //调用Handler的postDelayed()方法 //这个方法的作用是:将要执行的线程对象放入到队列当中,待时间结束后,运行制定的线程对象 //第一个参数是Runnable类型:将要执行的线程对象 //第二个参数是long类型:延迟的时间,以毫秒为单位 handler.postDelayed(updateThread, 200); } }; }
相关文章推荐
- android ProgressBar 进度条demo
- android 自定义ProgressBar 文字跟随进度效果
- android ProgressBar 实现自定义进度条
- Android程序:进度条(ProgressBar)的使用方法和案例
- Android自定义进度条-带文本(文字进度)的水平进度条(ProgressBar)
- Android中使用ProgressBar实现进度条
- Android开发——ProgressBar进度条进度控制
- Android 自定义ProgressBar--进度自己设置图片
- Android之ProgressBar ProgressDialog 进度条 进度条对话框
- Android初试--更新进度条(ProgressBar)1
- Android使用ProgressBar、自定义Notification显示文件下载进度
- Android之ProgressBar读取文件进度解析
- android自定义圆弧进度条,可拖拽的progressBar
- android 进度条组件ProgressBar
- Android ListView 中更新 ProgressBar 进度完整demo
- Android 三种常用实现自定义圆形进度条 ProgressBar 及demo
- android Handler控制进度条(ProgressBar)实例
- Android深入浅出系列之实例应用—程序运行进度提示条应用ProgressBar和Handler的使用
- Android_ProgressBar实现进度条
- 圆弧矩形进度条,可用于在layout或者imageview外层实现进度的显示(改良android-square-progressbar)