SeekBar 其实也是一种 ProgressBar ,它是 ProgressBar 的间接派生类,因此 ProgressBar 可以用的方法, SeekBar 都可以用。
1. 在布局文件 (main.xml) 中,增加界面元素声明如下:
<? xml version = "1.0" encoding = "utf-8" ?>
< LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
android:orientation = "horizontal"
android:layout_width = "fill_parent"
android:layout_height = "fill_parent"
>
< SeekBar
android:id = "@+id/seekbar"
android:layout_width = "240px"
android:layout_height = "wrap_content"
android:max = "500"
/>
< TextView
android:id = "@+id/seekbar_tv"
android:layout_width = "80px"
android:layout_height = "wrap_content"
android:text = ""
/>
</ LinearLayout >
2. Activity 所对应的代码:
public class ControlSeekBar extends Activity
implements
OnSeekBarChangeListener
{
private SeekBar sb ;
@Override
public void onCreate(Bundle savedInstanceState)
{
super .onCreate(savedInstanceState);
setContentView(R.layout. main );
sb = (SeekBar)findViewById(R.id. seekbar );
sb .setOnSeekBarChangeListener( this );
sb .setProgress(100);
}
public void onProgressChanged(SeekBar sb, int progress, boolean fromUser)
{
((TextView)findViewById(R.id. seekbar_tv )).setText( " " + progress);
}
public void onStartTrackingTouch(SeekBar seekBar)
{
// Notification that the user has started a touch gesture.
// Clients may want to use this to disable advancing the seekbar.
}
public void onStopTrackingTouch(SeekBar seekBar)
{
// Notification that the user has finished a touch gesture.
// Clients may want to use this to re-enable advancing the seekbar.
}
}
运行结果 :
拖动 thumb 之前 :
拖动 thumb 到 400 处: