视图
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.a1102.MainActivity" android:id="@+id/rl" > <com.example.a1102.suibian android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/circle" /> </RelativeLayout>
自定义类
package com.example.a1102; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.support.annotation.Nullable; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; /** * Created by andriodzk on 2017/11/2. */ public class suibian extends View{ public int currentX = 100; public int currentY = 100; Context context; //创建画笔 Paint p = new Paint(); public suibian(Context context) { super(context); } public suibian(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } public suibian(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //设置画笔的颜色 p.setColor(Color.RED); //绘制一个小球 //参数分别是:圆心坐标,半径,所使用的画笔 canvas.drawCircle(currentX,currentY,45,p); } @Override public boolean onTouchEvent(MotionEvent event) { this.currentX= (int) event.getX(); this.currentY = (int) event.getY(); this.invalidate(); //自己处理触摸事件 return true; } }