Android中ProgressBar用法简单实例
作者:马到成功 时间:2022-09-21 05:27:55
本文实例讲述了Android中ProgressBar用法。分享给大家供大家参考,具体如下:
在android中会经常用到ProgressBar,下面通过举例来说明如何使用ProgressBar。
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;
public class A03Activity extends Activity {
private ProgressBar rectangle,circle;
private Button showProgressBar;
private final static int STOP=0x10000;
private final static int NEXT=0x10001;
private int count=0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
rectangle=(ProgressBar)findViewById(R.id.rectangle);
circle=(ProgressBar)findViewById(R.id.circle);
showProgressBar=(Button)findViewById(R.id.showProgressBar);
rectangle.setIndeterminate(false);
circle.setIndeterminate(false);
showProgressBar.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
rectangle.setVisibility(View.VISIBLE);
circle.setVisibility(View.VISIBLE);
rectangle.setMax(100);
rectangle.setProgress(0);
circle.setProgress(0);
Thread t=new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<20;i++){
try {
count=(i+1)*5;
Thread.sleep(1000);
if(count==19){
Message msg=new Message();
msg.what=STOP;
handler.sendMessage(msg);
break;
}
else{
Message msg=new Message();
msg.what=NEXT;
handler.sendMessage(msg);
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
t.start();
}
});
}
private Handler handler=new Handler(){
@SuppressWarnings("static-access")
public void handleMessage(Message msg){
switch(msg.what){
case STOP:
rectangle.setVisibility(View.GONE);
circle.setVisibility(View.GONE);
Thread.currentThread().interrupt();
break;
case NEXT:
if(!Thread.currentThread().interrupted()){
rectangle.setProgress(count);
circle.setProgress(count);
}
break;
}
}
};
}
res/layout/main.xml如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<ProgressBar
android:id="@+id/rectangle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
mce_style="?android:attr/progressBarStyleHorizontal"
android:visibility="gone"
/>
<ProgressBar
android:id="@+id/circle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleLarge"
mce_style="?android:attr/progressBarStyleLarge"
android:visibility="gone"
/>
<Button
android:id="@+id/showProgressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="show ProgressBar"
/>
</LinearLayout>
希望本文所述对大家Android程序设计有所帮助。
标签:Android,ProgressBar
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Unity3D使用Shader实现腐蚀消失
2022-01-07 20:57:59
![](https://img.aspxhome.com/file/2023/1/89751_0s.gif)
15个顶级Java多线程面试题(附答案)
2023-11-24 01:53:44
spring profile 多环境配置管理详解
2023-01-23 17:53:58
HashMap 和 HashSet的区别
2023-01-05 22:45:30
Android 各版本兼容性适配详解
2021-08-23 09:20:30
![](https://img.aspxhome.com/file/2023/7/96807_0s.jpg)
Java ExcutorService优雅关闭方式解析
2023-11-25 19:21:48
Java实现贪吃蛇大作战小游戏的示例代码
2023-09-25 21:16:15
![](https://img.aspxhome.com/file/2023/6/60786_0s.jpg)
java仿QQ微信聊天室功能的实现
2022-05-14 17:44:28
![](https://img.aspxhome.com/file/2023/5/67005_0s.png)
Java实现简单图书借阅系统
2023-11-22 01:09:02
详解android6.0版本下悬浮窗实现
2023-09-04 18:43:34
Java实现的不同图片居中剪裁生成同一尺寸缩略图功能示例
2023-08-23 14:53:15
springboot集成opencv实现人脸识别功能的详细步骤
2023-10-07 00:38:22
![](https://img.aspxhome.com/file/2023/0/74930_0s.png)
SSM框架搭建图文教程(推荐)
2023-11-10 20:39:07
![](https://img.aspxhome.com/file/2023/1/59061_0s.png)
C#接口(Interface)用法分析
2022-10-18 10:59:17
MyBatis字段名和属性名不一致的解决方法
2022-12-15 18:15:22
PageHelper在springboot+mybatis框架中的使用步骤及原理解析
2023-07-28 21:40:09
![](https://img.aspxhome.com/file/2023/4/101984_0s.png)
Java实现获取内网的所有IP地址
2023-01-01 07:48:56
![](https://img.aspxhome.com/file/2023/6/88176_0s.png)
C#根据年月日计算星期几的函数小例子
2023-11-20 00:12:40
Android多线程学习实例详解
2022-02-17 19:00:56
word ppt excel文档转换成pdf的C#实现代码
2022-10-10 16:51:54