【android学习笔记】第四篇——基础控件2

好久没上啦!补更。

  • ProgressBar

长条形进度条变动态:

写一个让进度值变大变小的实例:

//progress bar 在Oncreate 中生命,class要接上Runnable接口
    private Thread th;//线程
    private ProgressBar pbh;
    private  boolean statechange;//标识进度值最大最小的状态


@Override
    public void run() {

        while(true)
        {
            int current = pbh.getProgress();//获取当前进度
            int currentMax = pbh.getMax();//最大值进度条
            int secCurrent = pbh.getSecondaryProgress();//底部进度条

            //只是提供演示,进度条变大缩小
            if(statechange == false)
            {
                if (current >= currentMax)
                {
                    statechange = true;
                }else
                    {
                        pbh.setProgress(current + 1);//是要获取当前值再加,不然会失去当前值
                        pbh.setSecondaryProgress(current + 1);
                    }
            }else{

                if(current<=0){statechange = false;}else{pbh.setProgress(current -1);}

            }

            try{Thread.sleep(50);}catch (InterruptedException e){e.printStackTrace();}

        }

    }
  • SeekBar 拖动条

写一个拖动进度条显示进度的实例:

  sb = (AppCompatSeekBar)findViewById(R.id.sb);
        sbtext = (TextView)findViewById(R.id.sbtext);
        sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
                sbtext.setText("变化中,值为:"+i);
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                sbtext.setText("拖动中...");
            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                sbtext.setText("拖动完毕");
            }
        });

猜你喜欢

转载自blog.csdn.net/qq_42795049/article/details/81505288