听歌、看电影,快进或者退回某一时间或者调节音量大小,我们都会用到SeekBar拖动条,本章一起来了解一下用法。
一、设计界面
1、打开“res/layout/activity_main.xml”文件。
从工具栏向activity拖出1个按钮SeekBar、2个TextView。
2、打开activity_main.xml文件。
代码如下:
<LinearLayout xmlns:android="http:///apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <SeekBar android:id="@+id/seekbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="100" android:progress="50" android:secondaryProgress="75" /> <TextView android:id="@+id/info01" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/info02" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
二、程序文件
打开“src/com.genwoxue.seekbar/MainActivity.java”文件。
然后输入以下代码:
import .Activity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
//注意同时从MainActivity类自Activity继承与实现OnSeekBarChangeListener接口
public class MainActivity extends Activity implements OnSeekBarChangeListener{
//声明变量
private SeekBar sbVolumer = null;
private TextView tvinfo01 = null;
private TextView tvinfo02 = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获得控件
sbVolumer = (SeekBar) findViewById(.seekbar);
sbVolumer.setOnSeekBarChangeListener(this);
tvinfo01 = (TextView) findViewById(.info01);
tvinfo02 = (TextView) findViewById(.info02);
}
//SeekBar数值改变事件
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {
tvinfo01.setText("音量当前值:"+progress);
}
//SeekBar开始拖动事件
@Override
public void onStartTrackingTouch(SeekBar arg0) {
tvinfo02.setText("音量正在调节");
}
//SeekBar停止拖动事件
@Override
public void onStopTrackingTouch(SeekBar arg0) {
tvinfo02.setText("音量停止调节");
}
}说明:了解seekbar的常见方法与属性。
(1)拖动条SeekBar的事件
由于拖动条可以被用户控制。所以需要对其进行事件监听,这就需要实现SeekBar.OnSeekBarChangeListener接口。此接口共需要监听三个事件,分别是:
数值改变(onProgressChanged)
开始拖动(onStartTrackingTouch)
停止拖动(onStopTrackingTouch)
(2)拖动条的主要属性和方法
setMax
设置拖动条的数值
setProgress
设置拖动条当前的数值
setSeconddaryProgress
设置第二拖动条的数值,即当前拖动条推荐的数值
三、运行效果


















