Android学习之SeekBar控件

SeekBar:A SeekBar is an extension of ProgressBar that adds a draggable thumb. The user can touch the thumb and drag left or right to set the current progress level or use the arrow keys. Placing focusable widgets to the left or right of a SeekBar is discouraged.

上面是官方的定义。

什么是SeekBar控件,SeekBar控件其实就是一个高级点的进度条,就像我们在听歌,看电影用的播放器上的进度条一样,是可以拖动的,可以改变进度的一个进度条控件!

 

下面来看如何使用SeekBar,用一个例子来说,功能非常简单,Activity上就是一个SeekBar和一个TextView,当我们拖动SeekBar的进度时,在下面的TextView中显示相应的进度变化!

SeekBar

 

第一步:定义Activity  

 

在main.xml文件中加上一个SeekBar和一个TextView
<span style="font-size: medium;">package com.gufengxiachen.counter;
 
import android.app.Activity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
 
public class CounterActivity extends Activity {
    /** Called when the activity is first created. */
//定义一个SeekBar和一个TextView
private SeekBar seekBar;
private TextView  textView; 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
//根据ID值取得SeekBar对象
        seekBar = (SeekBar)findViewById(R.id.seekbar);
        seekBar.setMax(100);
       //为SeekBar设置监听器(这里使用匿名内部类)
        seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
//复写OnSeeBarChangeListener的三个方法
//第一个时OnStartTrackingTouch,在进度开始改变时执行
   @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
        // TODO Auto-generated method stub
       
        }
//第二个方法onProgressChanged是当进度发生改变时执行
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress,
        boolean fromUser) {
        // TODO Auto-generated method stub
        textView = (TextView)findViewById(R.id.edit);
        int i= seekBar.getProgress();
        textView.setText(""+i);
       
        }
//第三个是onStopTrackingTouch,在停止拖动时执行
        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
        // TODO Auto-generated method stub
        textView = (TextView)findViewById(R.id.edit);
        int i= seekBar.getProgress();
        textView.setText(""+i);
       
        }
     });
    }
}</span>
     第二步:编写Activity
    package com.gufengxiachen.counter;
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.SeekBar;
    import android.widget.SeekBar.OnSeekBarChangeListener;
    import android.widget.TextView;
    public class CounterActivity extends Activity {
        /** Called when the activity is first created. */
    private SeekBar seekBar;
    private TextView  textView; 
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            seekBar = (SeekBar)findViewById(R.id.seekbar);
            seekBar.setMax(100);
           
            seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress,
            boolean fromUser) {
            // TODO Auto-generated method stub
            textView = (TextView)findViewById(R.id.edit);
            int i= seekBar.getProgress();
            textView.setText(""+i);
           
            }
            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub
            textView = (TextView)findViewById(R.id.edit);
            int i= seekBar.getProgress();
            textView.setText(""+i);
           
            }
            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub
           
            }
            });
        }
    }

       经过上面简单的步骤一个简单的SeekBar应用就完成了,其实其他很多控件使用方法都一样,首先定义控件,然后取得控件对象,添加监听器,最后在监听器的相应方法里实现功能!!

      最后祝大家学习愉快!!!

       

      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

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

      抵扣说明:

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

      余额充值