zoukankan      html  css  js  c++  java
  • android学习日记03--常用控件progressbar/seekbar

    常用控件

    5、progressbar
      进度条,比较常用的组件,在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度。一个进度条也可不确定其进度。在不确定模式下,进度条显示循环动画。一般有圆形和条形两种;
    默认进度条是圆形的
    小圆型进度条:
    style="?android:attr/progressBarStyleSmall"

    大圆形进度条:
    style="?android:attr/progressBarStyleLarge"

    条形进度条:
    style="?android:attr/progressBarStyleHorizontal"

    android:max="100" --最大值
    android:progress="50" --初始值
    android:secondaryProgress="60" --次进度条值

    常用方法:

               getMax():返回这个进度条的范围的上限

        getProgress():返回进度

        getSecondaryProgress():返回次要进度

        incrementProgressBy(int diff):指定增加的进度

        isIndeterminate():指示进度条是否在不确定模式下

        setVisibility(int v):设置该进度条是否可视

               onSizeChanged(int w, int h, int oldw, int oldh):当进度值改变时引发此事件

    简单小例子:

    新开个线程,让条形进度条从最小增到最大,再减到最小

     1 public class MainActivity extends Activity implements Runnable{
     2 
     3     private Thread td;
     4     private ProgressBar pb;
     5     private boolean stateChange;
     6     
     7     @Override
     8     protected void onCreate(Bundle savedInstanceState) {
     9         super.onCreate(savedInstanceState);
    10         setContentView(R.layout.activity_main);
    11         
    12         pb = (ProgressBar)findViewById(R.id.pd);
    13         td = new Thread(this);
    14         
    15         td.start();
    16     }
    17 
    18 
    19     @Override
    20     public boolean onCreateOptionsMenu(Menu menu) {
    21         // Inflate the menu; this adds items to the action bar if it is present.
    22         getMenuInflater().inflate(R.menu.main, menu);
    23         return true;
    24     }
    25 
    26 
    27     @Override
    28     public void run() {
    29         // TODO Auto-generated method stub
    30         while(true) {
    31             int current = pb.getProgress();
    32             int max = pb.getMax();
    33             int securrent = pb.getSecondaryProgress();
    34             
    35             if (stateChange == false) {
    36                 if(current >= max) {
    37                     stateChange = true;
    38                 }else {
    39                     pb.setProgress(current+1);
    40                     pb.setSecondaryProgress(current+1);
    41                 }
    42             }else {
    43                 if(current <= 0) {
    44                     stateChange = false;
    45                 }else {
    46                     pb.setProgress(current-1);
    47                     pb.setSecondaryProgress(current-1);
    48                 }
    49             }
    50             
    51             try {
    52                 td.sleep(50);
    53             } catch (Exception e) {
    54                 e.printStackTrace();
    55             }
    56         }
    57     }
    58     
    59 }
    View Code

    6、seekBar
      拖动条,见到的较多,如地图上,放大缩小,音乐播放时声音的放大缩小等

    监听事件:

     1 @Override
     2 public void onStopTrackingTouch(SeekBar seekBar) {
     3 // TODO Auto-generated method stub
     4 tv.setText("拖动完成...");
     5 }
     6 
     7 @Override
     8 public void onStartTrackingTouch(SeekBar seekBar) {
     9 // TODO Auto-generated method stub
    10 tv.setText("拖动中...");
    11 }
    12 
    13 @Override
    14 public void onProgressChanged(SeekBar seekBar, int progress,
    15 boolean fromUser) {
    16 // TODO Auto-generated method stub
    17 tv.setText("当前拖动条值为:"+progress);
    18 }
    View Code

    类似长型的进度条,只是可以手动拖到,
    也有
    android:max="100" --最大值
    android:progress="50" --初始值
    android:secondaryProgress="60" --次进度条值

    关于滑块还有一种较常用的是RatingBar,星级滑块,一般用于评定等级。

    用法和上面大同小异,不再多说。

    ========个人网站:http://chendd.com/ 文章很多是上面搬过来的,以后都在个人网站上更新,有兴趣的可以移步☺========
  • 相关阅读:
    C#自带的Version判断版本号的大小
    通过iis启动服务,会产生C:/inetpub/logs/logsFile产生大量的日志,定期清理
    C# 需要引用MySql.Data.dll,请在Nuget安装最新稳定版本,如果有版本兼容问题请先删除原有引用 (SqlSugar)
    C# sqlsugar依赖引用报错的问题解决
    Python 函数
    Python 迭代器与生成器
    Python 循环语句
    Python 条件控制
    Python 编程第一步
    Python 列表复制
  • 原文地址:https://www.cnblogs.com/aiguozhe/p/3545056.html
Copyright © 2011-2022 走看看