Android ProgressBar 进度条
来源:互联网 发布:windows 活动目录 编辑:程序博客网 时间:2024/04/18 13:15
Android系统提供了两大类进度条样式,长形进度条和圆形进度条,下面我就讲解下长形进度条如何使用,效果图如下:
布局文件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"/> <Buttonandroid:id = "@+id/startButton"android:layout_marginTop="10sp"android:layout_marginLeft="20sp"android:layout_width="150sp" android:layout_height="40sp"android:text="Start"/><Buttonandroid: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 进度条
- Android ProgressBar 进度条
- android 进度条(ProgressBar)
- android 进度条(ProgressBar) [
- android------进度条ProgressBar
- android 控件 进度条(ProgressBar)
- Android中ProgressBar进度条
- android学习----ProgressBar 进度条
- android ProgressBar 进度条
- Android:ProgressBar 进度条
- android 之进度条--------progressbar
- android 进度条ProgressBar
- Android progressBar进度条
- android:progressbar实现进度条
- Android--进度条--ProgressBar--SeekBar
- Android之进度条ProgressBar
- android进度条ProgressBar例子
- Android练习-----进度条(ProgressBar)
- 动态规划法解旅行商问题(TSP)问题的java实现
- NPOI 生成Excel 的——常用
- Oracle第一个存储过程。。。不容易
- java开源数据库连接池C3P0配置详解
- 用户与组的应用
- Android ProgressBar 进度条
- CEGUI加载layout文件出错
- 为赋新词强说愁之五(兼职生活二)
- 什么是yacc?
- error C2143: syntax error : missing ';' before 'type'
- visual studio 2005没有找到MSVCR80D.dll问题
- 重新规划,希望是转机
- RHL配置VNC Server
- 诺基亚之死