package com.example.administrator.randomnumber_view_demo; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; import java.util.HashSet; import java.util.Random; import java.util.Set; /** * Created by Administrator on 2017/4/9. */ public class Ranom_view extends View { public Ranom_view(Context context) { super(context); } public Ranom_view(Context context, AttributeSet attrs) { super(context, attrs); } public Ranom_view(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //对于画笔 Paint paint = new Paint(); //设置抗锯齿 paint.setAntiAlias(true); //设置画笔颜色 paint.setColor(Color.BLUE); //样式 paint.setStyle(Paint.Style.STROKE); paint.setStrokeWidth(5); canvas.drawCircle(300,400,100,paint); //设置文字大小 paint.setTextSize(40); String s = randomText(); //指定坐标,最好指定文字大小 canvas.drawText(s, 300, 400,paint); } /** * 获取四位随机数验证码 * * @return */ private String randomText() { Random random = new Random(); Set<Integer> set = new HashSet<Integer>(); while (set.size() < 4) { int randomInt = random.nextInt(10); set.add(randomInt); } StringBuffer sb = new StringBuffer(); for (Integer i : set) { sb.append("" + i); } return sb.toString(); } @Override protected boolean dispatchHoverEvent(MotionEvent event) { return super.dispatchHoverEvent(event); } @Override public boolean onTouchEvent(MotionEvent event) { invalidate(); return true; } }