今天我们要实现一个上图中音量调节的效果。主要有两种实现方式自定义RatingBar和自定义View。
自定义RatingBar
volume_rating.xml
main.xml
android:id="@+id/volume_ratingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:numStars="6"
android:paddingBottom="20dip"
android:visibility="gone"
android:paddingTop="20dip"
android:max="10"
android:progress="7"
android:progressDrawable="@drawable/volume_rating"
android:stepSize="1" />
这里注意一下,layer-list中的drawable必须是图片,不能用自己画的shape,原因我也不清楚。
自定义View
attrs.xml
VolumeView
public class VolumeView extends View {
private Paint paint;
// 控件宽度
private int width = 430;
// 控件高度
private int height = 100;
// 两个音量矩形最左侧之间的间隔
private int rectMargin = 10;
// 音量矩形高
private int rectH = 30;
// 音量矩形宽