总述
对于ProgressBar,它一般是有三层的,最底层为背景,第二层为加载了多少,第三层为当前的进度。
如果要对这三层的图片进行改变,可以通过progressDrawable属性来完成,该值是一个drawable。该drawable的示例如下:
<?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/emoji_e32a"/>
<item
android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/emoji_e32a"/>
<item
android:id="@+android:id/progress"
android:drawable="@drawable/emoji_e32c"/>
</layer-list>
注意:
它的根结点是<layer-list>,而且其中的id不能改。
RatingBar
星级进度条,它可以通过触摸来改变星级的个数。换图片的方法如上所示。效果图如下:
参考:
属性说明
isIndicator:为true的话,不能通过触摸来改变星级;为false则可以。
numStars:星星的个数
rating:有几个星星被选中
SeekBar
SeekBar也是Progressbar的子类,因此,如果要修改其中的图片,可以按上面方法进行。对于seekbar的拖动按钮(thumb)可以通过属性thumb进行更换图片。如:
final SeekBar sb = (SeekBar) findViewById(R.id.seekBar1);
sb.setThumb(new BitmapDrawable(getResources(), BitmapFactory
.decodeResource(getResources(), R.drawable.btn_live_stop_n)));
sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener());//设置seekbar的监听