zoukankan      html  css  js  c++  java
  • android progressBar和seekBar的小DEMO

     

    这里演示的是android ProgressBar的条形进度条,因为android条形进度条初始时静态的而不像圆形的进度条是动态的;

    而seekbar是android的拖动条,使用场景比如在音乐播放或者视频播放的时候~~~~

    xml布局文件(需要注意,在使用条形进度条的时候要选择的style类型为

    "?android:attr/progressBarStyleHorizontal"

    ):

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" 
        android:background="#BBBB0000">
    
        <ProgressBar
            android:id="@+id/pb"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            style="?android:attr/progressBarStyleHorizontal"
            android:max="100"
            android:progress="50"
            android:secondaryProgress="70"/>
        <SeekBar
            android:id="@+id/seekbar"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/pb"
            android:text="拖动"/>
    
    </RelativeLayout>

    mainActivity.java文件:

    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.ProgressBar;
    import android.widget.SeekBar;
    import android.widget.SeekBar.OnSeekBarChangeListener;
    
    public class MainActivity extends Activity implements Runnable, OnSeekBarChangeListener {
        private ProgressBar pb;
        private Thread th;
        boolean statechange;
        SeekBar seekbar;
        private String tag = "SEEKBAR";
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            pb = (ProgressBar)findViewById(R.id.pb);
            seekbar = (SeekBar)findViewById(R.id.seekbar);
            seekbar.setOnSeekBarChangeListener(this);
            th = new Thread(this);
            th.start();
        }
        @Override
        public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
            // TODO Auto-generated method stub
            Log.v(tag, "拖动改变");
        }
        @Override
        public void onStartTrackingTouch(SeekBar arg0) {
            // TODO Auto-generated method stub
            Log.v(tag, "改变中");
        }
        @Override
        public void onStopTrackingTouch(SeekBar arg0) {
            // TODO Auto-generated method stub
            Log.v(tag, "停止改变");
        }
        @Override
        public void run() {
            // TODO Auto-generated method stub
            while (true){
                int current = pb.getProgress();
                int currentMax = pb.getMax();
                int seccurrent = pb.getSecondaryProgress();
                if (statechange == false) {
                    if (current < currentMax) {
                        pb.setProgress(current +1);
                        pb.setSecondaryProgress(current +1);
                    }else if (current == currentMax) {
                        statechange = true;
                    }
                }
                else{
                    if (current > 0) {
                        pb.setProgress(current -1);
                        pb.setSecondaryProgress(current -1);
                    }else if (current == 0) {
                        statechange = false;
                    }
                }
                try {
                    Thread.sleep(100);
                } catch (Exception e) {
                    // TODO: handle exception
                    e.printStackTrace();
                }
            }
        }
        
    }   

    运行效果(进度条的业务代码是实现模拟进度的不断变化)

    图片居然不能上传了今天 ,等一下再补上吧。

  • 相关阅读:
    CentOS 6.3 从0开始配置防火墙规则
    ppt删除所有墨迹注释
    生日、毕业与大学的回忆
    20171201-构建之法:现代软件工程-阅读笔记
    软件工程课程总结
    课后作业-阅读任务-阅读提问-4
    Forward团队-爬虫豆瓣top250项目-项目总结
    Forward团队-爬虫豆瓣top250项目-最终程序
    课后作业-阅读任务-阅读提问-3
    20171117-构建之法:现代软件工程-阅读笔记
  • 原文地址:https://www.cnblogs.com/tiejiangweigaibianercunzai/p/3892234.html
Copyright © 2011-2022 走看看