最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Android如何实现横向进度条演示效果
时间:2022-06-25 23:04:30 编辑:袖梨 来源:一聚教程网
进度条:相信大家也都明白,有了进度条,那么给用户就不会造成,长时间的等待而觉得自己的程序挂掉了,所以,这个小demo还是可一看看的,那么接下来,然我们来看看到底是如何实现的。
1.效果图:
2.布局说明:
1.textview显示进度条
2.ProgressBar进度条
3.进度条配置:
其中:max可以手动设置,也就是你下载的内容大小,style也是
3.实例源码:
package com.zengtao.classwork;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.ActionBarActivity;
import android.widget.ProgressBar;
public class MainActivity extends ActionBarActivity {
private ProgressBar pb; // 进度条
private int[] randData = new int[100]; // 数组
private int index = 0; // 索引
private int mProgressStaus = 0; // 设置进度条的长度
private Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pb = (ProgressBar) findViewById(R.id.pb);
// 初始化handle,绑定在主线程中的队列消息中
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
// 接收消息
if (msg.what == 0x111) {
mProgressStaus = index;
pb.setProgress(mProgressStaus);
}
}
};
// 创建子线程,在子线程中处理耗时工作
new Thread() {
@Override
public void run() {
super.run();
while (index < 100) {
doWork();
Message msg = new Message();
msg.what = 0x111;
mHandler.sendMessage(msg);
}
}
}.start();
}
/**
* 模拟耗时工作(一定要在子线程中做)
*
* @return 进度条的多少
*/
public int doWork() {
randData[index++] = (int) (Math.random() * 100);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
return index;
}
}
相关文章
- 知到智慧树官网入口在哪 知到智慧树网页版快速登录 12-20
- poki地铁跑酷极速入口-poki地铁跑酷经典无限畅玩入口 12-20
- 163邮箱登录入口-网易163邮箱网页版一键登录 12-20
- poki免费小游戏畅玩入口-poki免费小游戏热门精选合集入口 12-20
- poki游戏平台地铁跑酷官方入口-poki游戏平台地铁跑酷高清流畅极速入口 12-20
- 第五人格园丁实战能挡几次伤害 12-20
