效果如图:
MyCircleView代码:
package com.example.mytest;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
public class MyCircleView extends View{
//radius 圆球半径
private static final float radius = 5.0f;
private int count;
private int choose=0;
//圆球之间的间距
private int gap = 20;
public MyCircleView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void choose(int pos){
this.choose = pos;
//每次选择的时候重画
this.invalidate();
}
public void setCount(int cnt){
this.count = cnt;
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint mPaint = new Paint();
//设置圆球的锯齿
mPaint.setAntiAlias(true);
int width = getWidth();
int height = getHeight();
//设置圆球从居中位置开始布置
int start_x = (width-gap*(count-1))/2;
for(int i=0;i<count;i++){
if(choose==i){
mPaint.setColor(Color.RED);
canvas.drawCircle(start_x+i*gap, height-20, radius+5, mPaint);
}else{
mPaint.setColor(Color.DKGRAY);
canvas.drawCircle(start_x+i*gap, height-20, radius, mP