package com.bwie.one; 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; /** * Created by dream on 2017/9/27. */ public class VirtualKeyView extends View{ private Paint mPaint; Context context; public VirtualKeyView(Context context) { super(context); } public VirtualKeyView(Context context, AttributeSet attrs) { super(context, attrs); } public VirtualKeyView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public VirtualKeyView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } //测量 @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); } //绘制 @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //画圆 //初始化画笔 Paint pa = new Paint(); Paint pal=new Paint(); Paint pall=new Paint(); Paint fang=new Paint(); float wi=canvas.getWidth()/2; float he=canvas.getHeight()/2; pa.setColor(Color.YELLOW); fang.setColor(Color.WHITE); pa.setARGB(255,199,99,56); pal.setColor(Color.BLUE); pall.setColor(Color.WHITE); //设置画笔无锯齿 pa.setAntiAlias(true); pal.setAntiAlias(true); canvas.drawColor(Color.WHITE); canvas.drawCircle(wi,he,120,pa); canvas.drawCircle(wi,he,80,pall); canvas.drawCircle(wi,he,40,pal); canvas.drawRect(80, 250, 180, 350,fang); canvas.drawText("1508a",wi,he,pa); } //定位 @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { super.onLayout(changed, left, top, right, bottom); /** * onFinihInflate() 当view中所有的子控件均被映射成xml后触发 * onMeasure(int ,int)确定所有子元素的大小 * onLyout(boolean, int, int, int) 当view的大小发生变化时触发 * onDraw(Canvas) view渲染内容的细节 * onKeyDown(int ,keyEvent)有按键按下后触发 * onKeyUp(int,keyEvent)有按键按下弹起后触发 * onTrachballEvent(MontionEvent)轨迹球事件 * onTouchEvent(MontionEvent)触屏事件 * */ } //监听 @Override public boolean onTouchEvent(MotionEvent event) { return super.onTouchEvent(event); } }
xml页面
<com.bwie.one.VirtualKeyView android:id="@+id/cv" android:layout_centerInParent="true" android:layout_width="wrap_content" android:layout_height="wrap_content"/>