1.SeekBar和ProgressBar的区别在于,SeekBar是可以拖动的,ProgressBar是不可操作的。
SeekBar的使用方法和ProgressBar很类似,xml的代码如下:
<SeekBar
android:id="@+id/seekBar01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
这样一个SeekBar就声明好了,下面是对其操作事件的监听,关于SeekBar主要有三个事件:1.StartTrackingTouch2.StopTrackingTouch3.ProgressChanged
大概就是开始、进行、停止拖动这三个事件。具体的代码如下:
sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
tv.setText("拖动停止了");
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
tv.setText("开始拖动了");
}
@Override
public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
// TODO Auto-generated method stub
tv.setText("拖动到了:"+arg1+"%");
}
});
运行效果是最原始的效果是Google提供的,效果如下:
2.自定义的SeekBar
这里主要是对SeekBar的底色,当前的进度的样子,还有第二个进度的样式。
声明方法:
<SeekBar
android:id="@+id/seekBar02"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:progressDrawable="@drawable/myseekbar"
android:thumb="@drawable/tubiao" />
其中thumb标签是拖动点的图表,ProgressDrawable标签指定的是一个xml布局文件myseekbar,里面的内容是:
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@android:id/background"
android:drawable="@drawable/seekbarbg" /><!--最下层图片 实例中褐色-->
<item
android:id="@android:id/progress"
android:drawable="@drawable/now" /><!--显示当前进度的图片就是该实例中上面绿色部分-->
</layer-list>
这样的效果就会比较好看。