Android基本界面控件六-进度条

5.5 进度条

5.5.1 ProgressBar

图5.5.1 ProgressBar

android.widget. ProgressBar,继承自android.view.View 。在android.widget包中。对应对话框ProgressDialog。

ProgressBar有两种展示方式,表盘形式(普通、小、大)和条形填充形式。在layout定义时,需要通过设施style属性类设置展示方式。

常用属性设置:

style 显示方式,取值:
?android:attr/progressBarStyleLarge / progressBarStyle / progressBarStyleSmall / progressBarStyleHorizontal
android:max progressBarStyleHorizontal方式时,进度条满时的值。
android:progress progressBarStyleHorizontal方式时,进度条主进度当前值。
android:secondaryProgress progressBarStyleHorizontal方式时,进度条次进度当前值。

progressBarStyleHorizontal方式时,就需要指定进度条最大值,当前值,次要的当前值。还可以在代码中手动设置。

通过按钮改变progress和secondaryProgress的代码:

if (v.equals(this.buttonSubBar)) {
        this.myProgressBar.setProgress(this.myProgressBar.getProgress() - 10);
    } else if (v.equals(this.buttonAddBar)) {
        this.myProgressBar.setProgress(this.myProgressBar.getProgress() + 10);
    } else if (v.equals(this.buttonSubSecondaryBar)) {
        this.myProgressBar.setSecondaryProgress(this.myProgressBar.getSecondaryProgress() - 5);
    } else if (v.equals(this.buttonAddSecondaryBar)) {
        this.myProgressBar.setSecondaryProgress(this.myProgressBar.getSecondaryProgress() + 5);
    }

5.5.2 SeekBar

图5.5.2 SeekBar

android.widget. SeekBar拖动进度条,继承自android.widget.AbsSeekBar(android.widget. ProgressBar) 。在android.widget包中。

常用属性设置:

android:max 进度条满时的值。
android:progress 进度条主进度当前值。
android:thumb 拇指跟随图标。
android:thumbOffset 设置允许的轨道的范围扩展到拇指的拇指偏移量。

方法setOnSeekBarChangeListener(SeekBar.OnSeekBarChangeListener) 可进行监听,开始拖拽,停止拖拽,以及拖拽中进度条的值是否是用户改变等参数。

this.mySeekBar = (SeekBar) super.findViewById(R.id.mySeekBar);  
 
    this.mySeekBar.setOnSeekBarChangeListener(onSeekBarChangeListener);  
 
    *
    *
    /** * seekBar 监听器 */
    private SeekBar.OnSeekBarChangeListener onSeekBarChangeListener = new SeekBar.OnSeekBarChangeListener() {  
 
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            myTextSeekBar.setText(progress + "");
            Log.v(CommonConfig.LOG_TAG, "SeekBar onProgressChanged, progress: " + progress + ", fromUser: " + fromUser);
        }  
 
        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            Log.v(CommonConfig.LOG_TAG, "SeekBar onStartTrackingTouch");
        }  
 
        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            Log.v(CommonConfig.LOG_TAG, "SeekBar onStopTrackingTouch");
        }
    };

5.5.3 RatingBar

图5.5.3 RatingBar

android.widget. RatingBar星式进度条,继承自android.widget.AbsSeekBar(android.widget. ProgressBar)。在android.widget包中。

常用属性设置:

android:isIndicator 是否是评级栏,指示器作用。True为指示器,用户不可操作。
android:numStars 总星数。
android:rating 当前星数。
android:stepSize 每次可以等加的最小单位。浮点数。

setOnRatingBarChangeListener(RatingBar.OnRatingBarChangeListener),添加一个监听器,可以监听每次改变。

this.myRatingBar = (RatingBar) super.findViewById(R.id.myRatingBar);  
 
    this.myRatingBar.setOnRatingBarChangeListener(onRatingBarChangeListener);  
 
    *
    *  
 
    /** * ratingBar 监听器 */
    private RatingBar.OnRatingBarChangeListener onRatingBarChangeListener = new RatingBar.OnRatingBarChangeListener() {  
 
        @Override
        public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
            myTextRatingBar.setText(rating + " / " + ratingBar.getNumStars());
            Log.v(CommonConfig.LOG_TAG, "RatingBar onRatingChanged, rating: " + rating + ", fromUser: " + fromUser);
        }  
 
    };

from:http://disanji.net/2011/06/04/android-basic-view-intent-5-progressbar/

转载于:https://my.oschina.net/u/3579120/blog/1508365

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值