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>