拖動條可以被用戶控制,所以需要對其進行事件監聽,需要實現SeekBar.OnSeekBarChangeListener接口。在SeekBar中需要實現監聽3個事件:
數值改變:onProgressChanged
開始拖動:onStartTrackingTouch
停止拖動:onStopTrackingTouch
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<SeekBar android:layout_height="wrap_content"
android:id="@+id/seekBar1"
android:layout_width="fill_parent"
android:max="100"
></SeekBar>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:id="@+id/text1"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:id="@+id/text2"
/>
</LinearLayout>
seekBArActivity.java
package com.seekBar;
import android.app.Activity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.TextView;
public class seekBArActivity extends Activity implements SeekBar.OnSeekBarChangeListener{
SeekBar mysSeekBar;
TextView textView1,textView2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mysSeekBar=(SeekBar) findViewById(R.id.seekBar1);
textView1=(TextView) findViewById(R.id.text1);
textView2=(TextView) findViewById(R.id.text2);
mysSeekBar.setOnSeekBarChangeListener(this);
}
@Override
//監聽數值改變事件
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
textView1.setText("當前值:"+progress);
}
@Override
//監聽開始拖動事件
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
textView2.setText("正在調節");
}
@Override
//監聽停止拖動事件
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
textView2.setText("調節結束");
}
}