轉載出處:http://blog.sina.com.cn/s/blog_7256fe8f010171lu.html
拖動條(SeekBar)元件與ProgressBar水準形式的顯示進度條類似,不過其最大的差別在于,拖動條可以由使用者自己進行手工的調節,例如當使用者需要調整播放器音量或者電影的播放速度都會使用到拖動條SeekBar類。

.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" >
<SeekBar android:id="@+id/seekbar" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <TextView android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content"/>
</LinearLayout>
.java
package com.example.seekbardemo;
import android.os.Bundle; import android.app.Activity; import android.text.method.ScrollingMovementMethod; import android.view.Menu; import android.widget.SeekBar; import android.widget.TextView;
public class MainActivity extends Activity {
private SeekBar seekbar=null; private TextView text=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.seekbar=(SeekBar) super.findViewById(R.id.seekbar); this.text=(TextView) super.findViewById(R.id.text); //設定文本可以滾動 this.text.setMovementMethod(ScrollingMovementMethod.getInstance()); this.seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListenerImp()); }
private class OnSeekBarChangeListenerImp implements SeekBar.OnSeekBarChangeListener{
//觸發操作,拖動 public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { MainActivity.this.text.append("正在拖動,目前值:"+seekBar.getProgress()+"\n"); }
//表示進度條剛開始拖動,開始拖動時候觸發的操作 public void onStartTrackingTouch(SeekBar seekBar) { MainActivity.this.text.append("開始拖動,目前值:"+seekBar.getProgress()+"\n"); }
//停止拖動時候 public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub MainActivity.this.text.append("停止拖動,目前值:"+seekBar.getProgress()+"\n"); } } }