听歌、看电影,快进或者退回某一时间或者调节音量大小,我们都会用到SeekBar拖动条,本章一起来了解一下用法。

一、设计界面

  1、打开“res/layout/activity_main.xml”文件。

  从工具栏向activity拖出1个按钮SeekBar、2个TextView。

2、打开activity_main.xml文件。

  代码如下:

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"><SeekBarandroid:id="@+id/seekbar"android:layout_width="match_parent"android:layout_height="wrap_content"android:max="100"android:progress="50"android:secondaryProgress="75"/><TextViewandroid:id="@+id/info01"android:layout_width="wrap_content"android:layout_height="wrap_content"/><TextViewandroid:id="@+id/info02"android:layout_width="wrap_content"android:layout_height="wrap_content"/></LinearLayout>

二、程序文件 

  打开“src/com.genwoxue.seekbar/MainActivity.java”文件。

  然后输入以下代码:  

importandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.SeekBar;importandroid.widget.SeekBar.OnSeekBarChangeListener;importandroid.widget.TextView;//注意同时从MainActivity类自Activity继承与实现OnSeekBarChangeListener接口publicclassMainActivityextendsActivityimplementsOnSeekBarChangeListener{//声明变量privateSeekBarsbVolumer=null;privateTextViewtvinfo01=null;privateTextViewtvinfo02=null;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获得控件sbVolumer=(SeekBar)findViewById(R.id.seekbar);sbVolumer.setOnSeekBarChangeListener(this);tvinfo01=(TextView)findViewById(R.id.info01);tvinfo02=(TextView)findViewById(R.id.info02);}//SeekBar数值改变事件@OverridepublicvoidonProgressChanged(SeekBarseekBar,intprogress,booleanfromTouch){tvinfo01.setText("音量当前值:"+progress);}//SeekBar开始拖动事件@OverridepublicvoidonStartTrackingTouch(SeekBararg0){tvinfo02.setText("音量正在调节");}//SeekBar停止拖动事件@OverridepublicvoidonStopTrackingTouch(SeekBararg0){tvinfo02.setText("音量停止调节");}}

说明:了解seekbar的常见方法与属性。

 (1)拖动条SeekBar的事件

由于拖动条可以被用户控制。所以需要对其进行事件监听,这就需要实现SeekBar.OnSeekBarChangeListener接口。此接口共需要监听三个事件,分别是:
数值改变(onProgressChanged)
开始拖动(onStartTrackingTouch)
停止拖动(onStopTrackingTouch)

  (2)拖动条的主要属性和方法

setMax
设置拖动条的数值

setProgress
设置拖动条当前的数值

setSeconddaryProgress
设置第二拖动条的数值,即当前拖动条推荐的数值

三、运行效果