自定义view画一个圆点击可以拖动

来源:互联网 发布:android 与js交互 编辑:程序博客网 时间:2024/05/21 21:36
package com.zhengyang.ballmovedemo;

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 h on 2016-6-8.
 */
public class BallView extends View {

    private float currentX=40;
    private float currentY=50;
    private Paint p;
    private double rate;

    public BallView(Context context) {
        super(context);
    }

    public BallView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public BallView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        //创建画笔
        p = new Paint();
        //设置画笔颜色
        p.setColor(Color.GREEN);
        //绘制一个小圆作为小球
        canvas.drawCircle(currentX,currentY,20, p);


    }

    /*触摸监听*/
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        //将currentX和currentY设置为当前点触摸点的x、y坐标
        currentX=event.getX();
        currentY=event.getY();

        //通知当前组件重绘自己
        invalidate();
        //返回true表示,由当前处理该事件
        return true;
    }
}