您的位置:首页 > 移动开发 > Android开发

android进度条的使用(PrograssBar,SeekBar,RatingBar)

2015-09-14 10:10 260 查看
页面上有一个进度条,10S让进度条自动完成

<span style="font-size:14px;">import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ProgressBar;

import com.example.android_lb_day2.R;

public class PrograssBarTest extends Activity {

     ProgressBar bar;
     int current = 0;

     @Override
     protected void onCreate(Bundle savedInstanceState) {
          // TODO Auto-generated method stub
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_prograssbar);
          bar = (ProgressBar) findViewById(R.id.bar);
          Thread t = new Thread(able);
          t.start();

     }

     Runnable able = new Runnable() {

          @Override
          public void run() {
               int max = bar.getMax();//获取进度条的最大值
               try {
                    while (max != bar.getProgress()) {
                         int step = max / 10;
                         int currentBar = bar.getProgress(); //得到当前进度条
                         bar.setProgress(step + currentBar);
                         Thread.sleep(1000);
                    }
               } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
               }

          }
     };

}</span>


ProgressBar及其子类:

ProgressBar有两个子类:SeekBar--------------------可拖拽性的进度条,一般用来调节系统音量屏幕亮度等

RatingBar-------------------星星形状的评分条

Android支持几种风格的进度条
@android:style/Widget.ProgressBar.Horizontal-------------------------水平进度条
@android:style/Widget.ProgressBar.Inverse----------------------------普通大小的环形进度条
@android:style/Widget.ProgressBar.Large-------------------------大环形进度条
@android:style/Widget.ProgressBar.Large.Inverse-------------------------大环形进度条
@android:style/Widget.ProgressBar.Small-------------------------小环形进度条
@android:style/Widget.ProgressBar.Small.Inverse-------------------------小环形进度条

还有一种现实在标题上的进度条

第一步:(必须在设置布局文件之前设置)
//设置窗口特性:启用显示进度的进度条
在setContentView之前调用requestWindowFeature(Window.FEATURE_PROGRESS);
//设置窗口特性:启用不显示进度的进度条
在setContentView之前调用requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

第二部:
//显示不带进度的进度条
setProgressBarIndeterminateVisibility(true);
//显示带进度的进度条
setProgressBarVisibility(true);

为seekbar添加监听器
seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
{

@Override
public void onStopTrackingTouch(SeekBar
seekBar) {
// TODO Auto-generated
method stub
//手指离开滑块的时候触发该方法
}

@Override
public void onStartTrackingTouch(SeekBar
seekBar) {
// TODO Auto-generated
method stub
//手指按住滑块的时候触发该方法
}

@Override
public void onProgressChanged(SeekBar
seekBar, int progress,
boolean fromUser)
{
// TODO Auto-generated
method stub
//当滑块的位置发生改变的时候触发方法
}
});
为RatingBar添加监听器





ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener()
{

@Override
public void onRatingChanged(RatingBar
ratingBar, float rating,
boolean fromUser)
{
//
当拖动滑块位置发生改变的时候触发该方法

}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: