SeekBar控件的使用(Android设置可以拖动的进度条)

SeekBar和ProgressBar同样都是进度条控件,但是SeekBar可以人为拖动改变控件进度。他的布局文件设置和ProgressBar差不多,但是activity操作有所不同。他可以监听开始拖动,拖动时,拖动停止三种状态,可以在这三种情况下设置操作。代码如下:

package cn.edu.qtech.csc.lcb.seekbardemo;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.TextView;

public class MainActivity extends Activity {

    //控件对象
    private SeekBar testSeekBar;
    private TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layoutseekbardemo);

        //根据ID值取得SeekBar对象和TextView对象
        testSeekBar = (SeekBar)findViewById(R.id.seekbar);
        textView = (TextView)findViewById(R.id.info);

        testSeekBar.setMax(100); //设置进度条的最大值是100
        testSeekBar.setProgress(30); //设置初始位置

        //为SeekBar设置监听器,必须重写下列3个方法
        testSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){
            //在进度开始改变时执行
            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                int i= seekBar.getProgress(); //获取进度条的进度值
                textView.setText("Start value is "+i); //在TextView上显示进度
            }

            //当进度发生改变时执行
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress,
                                          boolean fromUser) {
                if(fromUser) //判断是谁修改的进度值?
                    textView.setText("Current value is "+progress+"   --from user!");
                else
                    textView.setText("Current value is "+progress+"   --from program!");
            }

            //在停止拖动时执行
            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                int i= seekBar.getProgress();  //获取进度条的进度值
                textView.setText("ok, the final value is "+i);
            }
        });

        //程序设置方式改变进度值处理
        ((Button)findViewById(R.id.test)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (testSeekBar.getProgress()

 

你可能感兴趣的:(Android开发技术)