最新下载
热门教程
- 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-25
- 《燕云十六声》阴阳如影完成图文攻略 12-25
- 《燕云十六声》悬檐之下四架椽屋图文攻略 12-25
- 《燕云十六声》2024最新公测时间介绍 12-25
- 《燕云十六声》有没有藏宝阁 12-25
- 《燕云十六声》制作公司介绍 12-25