成都创新互联网站制作重庆分公司

Android如何实现横向进度条演示效果

这篇文章主要为大家展示了“Android如何实现横向进度条演示效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android如何实现横向进度条演示效果”这篇文章吧。

成都创新互联长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为焉耆企业提供专业的成都做网站、成都网站制作、成都外贸网站建设焉耆网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

1.效果图:

Android如何实现横向进度条演示效果

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; 
 } 
}

以上是“Android如何实现横向进度条演示效果”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


当前标题:Android如何实现横向进度条演示效果
URL网址:http://cxhlcq.com/article/jhgedh.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部