Handler和ProgressBar实现开始停止循环进度条
2012-04-27 15:01
561 查看
Java:
xml:
运行结果:
![](http://my.csdn.net/uploads/201204/27/1335510385_5639.jpg)
停止功能没有实现。
public class main extends Activity { /** Called when the activity is first created. */ ProgressBar progressbar; Handler handle=new Handler(); //新建一个Handler对象 Button b1; Button b2; Button b3; Button b4; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); progressbar=(ProgressBar)findViewById(R.id.pb1); progressbar.setProgress(0); b1=(Button)findViewById(R.id.b1); b1.setOnClickListener(b1Lis); b1.setText("开始"); b2=(Button)findViewById(R.id.b2); b2.setOnClickListener(b2Lis); b2.setText("停止"); b3=(Button)findViewById(R.id.b3); b3.setOnClickListener(b3Lis); b3.setText("后退"); b4=(Button)findViewById(R.id.b4); b4.setOnClickListener(b4Lis); b4.setText("暂停"); } private OnClickListener b1Lis=new OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub handle.post(add); //开始执行add } }; private OnClickListener b2Lis=new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub handle.removeCallbacks(add); //停止执行 progressbar.setProgress(0); setTitle(String.valueOf(0)); } }; private OnClickListener b3Lis=new OnClickListener(){ @Override public void onClick(View v) { if(prolength!=0){ prolength=progressbar.getProgress()-1; progressbar.setProgress(prolength); setTitle(String.valueOf(prolength)); } } }; private OnClickListener b4Lis=new OnClickListener(){ @Override public void onClick(View v) { } }; int prolength=0; Runnable add=new Runnable(){ //定义add @Override public void run() { // TODO Auto-generated method stub prolength=progressbar.getProgress()+1; progressbar.setProgress(prolength); setTitle(String.valueOf(prolength)); if(prolength<100){ handle.postDelayed(add,500); //如果进度小于100,,则延迟500毫秒后重复执行add }else{ progressbar.setProgress(0); setTitle(String.valueOf(0)); handle.post(add); } } }; }
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/pb1" android:layout_width="fill_parent" android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal" /> <Button android:id="@+id/b1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/b2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/b3" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/b4" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
运行结果:
![](http://my.csdn.net/uploads/201204/27/1335510385_5639.jpg)
停止功能没有实现。
相关文章推荐
- Handler和ProgressBar实现进度条的开始,暂停,停止,后退和循环
- Android Handler和ProgressBar实现进度条的开始,暂停,停止,后退和循环
- Handler和ProgressBar实现进度条的开始,暂停,停止,后退和循环
- android Handler和Thread实现定时器开始计时和停止计时
- Android之利用Handler实现ProgressBar进度条
- 使用Handler控制进度条,完成开始、暂停、继续、停止操作
- Android实用笔记——使用ProgressBar实现进度条
- Shell 循环中实现展示进度百分比的脚本方法
- 各种自定义进度条(progressbar或seekbar)的实现
- C#组件设计技术兼谈带百分比进度条组件TSmartProgressBar的实现
- 用脚本实现虚拟机的开始 停止 安装 重置 快照
- android之实现ProgressBar进度条组件
- JS实现按钮控制计时开始和停止功能
- 使用ProgressBar实现加载进度条
- UrlDownloadtoFile文件下载,进度条,下载暂停,停止的简单实现
- pytorch从头开始实现一个RNN(循环神经网络)
- android,实现圆形循环进度条,不带百分比进度显示
- [置顶] 扣丁音乐(七)——音乐进度条拖动 循环模式 专辑图片倒影功能实现
- 轮播图功能的全实现(自动播放、小点点、按住停止播放、放手后开始播放...)
- ProgressBar实现进度条及ProgressDialog实现对话框进度条