自定义控件DrawView继承View
package com.eson.ontouchevent ;
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 Eson on 2016/5/18.
*/
public class DrawView extends View {
public float currentX =40 ;
public float currentY = 50;
Paint p =new Paint() ;
public DrawView(Context context , AttributeSet attrs) {
super (context , attrs) ;
}
@Override
protected void onDraw (Canvas canvas) {
super .onDraw(canvas) ;
//设置画笔的颜色
p .setColor(Color. RED) ;
//绘制一个小圆球
canvas.drawCircle( currentX ,currentY , 15, p );
}
@Override
public boolean onTouchEvent (MotionEvent event) {
this . currentX=event.getX() ;
this. currentY =event.getY();
this.invalidate() ;
return true;
}
}
布局页面代码content_main.xml,使用的是自定义控件DrawView
<? xml version= "1.0" encoding= "utf-8" ?>
<LinearLayout xmlns: android ="http://schemas.android.com/apk/res/android"
android :layout_width= "match_parent"
android :layout_height= "match_parent"
android :orientation= "vertical"
>
<com.eson.ontouchevent.DrawView
android :layout_width= "match_parent"
android :layout_height= "match_parent"
android :text= "Hello World!" />
</LinearLayout>