这篇文章主要为大家展示了“Android如何实现横向进度条演示效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android如何实现横向进度条演示效果”这篇文章吧。
1.效果图:
2.布局说明:
1.textview显示进度条
2.ProgressBar进度条
3.进度条配置:
<ProgressBar android:id="@+id/pb" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="100" />
其中: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; } }
以上是“Android如何实现横向进度条演示效果”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。