听歌、看电影,快进或者退回某一时间或者调节音量大小,我们都会用到SeekBar拖动条,本章一起来了解一下用法。
一、设计界面
1、打开“res/layout/activity_main.xml”文件。
从工具栏向activity拖出1个按钮SeekBar、2个TextView。
2、打开activity_main.xml文件。
代码如下:
<span style="font-size:14px;"><LinearLayout xmlns:android="http://schemas.android.com/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></span>
二、程序文件
打开“src/com.genwoxue.seekbar/MainActivity.java”文件。
然后输入以下代码:
<span style="font-size:14px;">import android.app.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(R.id.seekbar);
sbVolumer.setOnSeekBarChangeListener(this);
tvinfo01 = (TextView) findViewById(R.id.info01);
tvinfo02 = (TextView) findViewById(R.id.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("音量停止调节");
}
}</span>
说明:了解seekbar的常见方法与属性。
(1)拖动条SeekBar的事件
由于拖动条可以被用户控制。所以需要对其进行事件监听,这就需要实现SeekBar.OnSeekBarChangeListener接口。此接口共需要监听三个事件,分别是:
数值改变(onProgressChanged)
开始拖动(onStartTrackingTouch)
停止拖动(onStopTrackingTouch)
(2)拖动条的主要属性和方法
setMax
设置拖动条的数值
setProgress
设置拖动条当前的数值
setSeconddaryProgress
设置第二拖动条的数值,即当前拖动条推荐的数值
三、运行效果