首页 > 系统 > Android > 正文

Android横向进度条演示效果

2019-10-22 18:16:21
字体:
来源:转载
供稿:网友

进度条:相信大家也都明白,有了进度条,那么给用户就不会造成,长时间的等待而觉得自己的程序挂掉了,所以,这个小demo还是可一看看的,那么接下来,然我们来看看到底是如何实现的。

1.效果图:

Android,横向,进度条,Android横向进度条,Android进度条

2.布局说明:

1.textview显示进度条
2.ProgressBar进度条
3.进度条配置:

 <ProgressBar  android:id="@+id/pb"  style="@android:style/Widget.ProgressBar.Horizontal"  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;  } } 

4.dowork()方法是模拟的一个耗时操作,当然你自己也可以用其他的代替,比如:网上下载图片,下载好了,之后显示出来等等。

以上是自己的劳动成果,希望能帮到大家。


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表