SeekBar是ProgressBar的擴(kuò)展,在其基礎(chǔ)上增加了一個(gè)可拖動(dòng)的thumb(注:就是那個(gè)可拖動(dòng)的圖標(biāo))。用戶可以觸摸thumb并向左或向右拖動(dòng),再或者可以使用方向鍵都可以設(shè)置當(dāng)前的進(jìn)度等級(jí)。
布局文件:
<SeekBar
android:id="@+id/seekbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="10dp"
android:maxHeight="8dp"
android:minHeight="8dp"
android:progressDrawable="@drawable/seekbar_style"
android:thumb="@android:drawable/ic_notification_overlay"
android:thumbOffset="0dp" />
<TextView
android:id="@+id/progress"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
seekbar的樣式文件:
seekbar_style.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@android:id/background">
<shape >
<corners android:radius="10dip" />
<gradient
android:angle="270"
android:centerColor="#F5F5F5"
android:centerY="0.45"
android:endColor="#F5F5F5"
android:startColor="#F5F5F5" />
</shape>
</item>
<item android:id="@android:id/progress">
<clip >
<shape >
<corners android:radius="10dip" />
<gradient
android:angle="270"
android:centerColor="#FF75BC32"
android:centerY="0.45"
android:endColor="#FF75BC32"
android:startColor="#FF75BC32" />
</shape>
</clip>
</item>
</layer-list>
說(shuō)明:如果想要改變進(jìn)度條下面的那個(gè)白色的背景槽的顏色,在第一個(gè)item里面進(jìn)行設(shè)置,可以通過(guò)設(shè)置@null 或者#00000000來(lái)把進(jìn)度槽隱藏掉,如果想要改變進(jìn)度條的顏色,在第二個(gè)種修改成自己需要的顏色即可
activity類(lèi):
public class SeekbarActivity extends Activity implements
SeekBar.OnSeekBarChangeListener{
private SeekBar mSeekBar;
private TextView progressNum;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mSeekBar=(SeekBar) findViewById(R.id.seekbar);
progressNum=(TextView) findViewById(R.id.progress);
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
progressNum.setText(String.valueOf(progress + 1));
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
}