ProgressBar的简单用法

来源:互联网 发布:手机电影特效软件 编辑:程序博客网 时间:2024/06/09 18:53

效果图



功能

/** * 功能:实现页面完全载入前,显示进度条,当页面载入后,隐藏该进度条 */


Java源码

  // 全局变量;    int mProgressStatus = 0;        // 进度条的进度值;    Handler mHandler;

 final ProgressBar horizonProgress = (ProgressBar)findViewById(R.id.horizonProgress);        final ProgressBar circleProgress = (ProgressBar)findViewById(R.id.circleProgress);        //进度条的进度减少,当参数值为正数时,进度增加,为负数时,进度减少        circleProgress.incrementProgressBy(-1);        circleProgress.setVisibility(View.VISIBLE);     // 设置圆形进度条可见        new Thread(new Runnable() {            @Override            public void run() {                while (true)                {                    mProgressStatus = doWork();                    Message message = new Message();                    if (mProgressStatus < 100)                    {                        message.what = 0x111;                        mHandler.sendMessage(message);                    }                    else                    {                        message.what = 0x110;                        mHandler.sendMessage(message);                    }                }            }            private int doWork()            {                mProgressStatus += Math.random() * 10;                try{                    Thread.sleep(200);                }catch (InterruptedException e)                {                    e.printStackTrace();                }                return mProgressStatus;            }        }).start();        mHandler=new Handler(){            @Override            public void handleMessage(Message msg) {                if(msg.what==0x111){                    horizonProgress.setProgress(mProgressStatus);//更新进度                    circleProgress.setProgress(100-mProgressStatus);                }else{                    horizonProgress.setVisibility(View.GONE);//设置进度条不显示,并且不占用空间                    circleProgress.setVisibility(View.GONE);//设置进度条不显示,并且不占用空间                }            }        };



0 0
原创粉丝点击