鼠标拖动圆运动

来源:互联网 发布:阿里云虚拟 编辑:程序博客网 时间:2024/06/05 19:39

//Mainty

package com.example.myapplication.view;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;import android.view.WindowManager;/** * Created by 123 on 2017/11/30. */public class BallViewDemo extends View{    private Paint paint;    Context context;    //圆的初始位置坐标    private float x=18;    private float y=18;    private int radius=100;    /**     * java代码创建时调用     * @param context     */    public BallViewDemo(Context context) {        super(context);        this.context=context;    }    public BallViewDemo(Context context, @Nullable AttributeSet attrs) {        super(context, attrs);        this.context=context;    }    public BallViewDemo(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);        this.context=context;    }    @Override    protected void onDraw(Canvas canvas) {        super.onDraw(canvas);        canvas.drawColor(Color.WHITE);        paint=new Paint();        paint.setColor(Color.RED);        paint.setAntiAlias(true);        canvas.drawCircle(x,y,radius,paint);    }    @Override    public boolean onTouchEvent(MotionEvent event) {        this.x=(float)event.getX();        this.y=(float)event.getY();        invalidate();        return  true;    }}

//xml

<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout    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.myapplication.app2">    <com.example.myapplication.view.BallViewDemo        android:layout_width="wrap_content"        android:layout_height="wrap_content" /></android.support.constraint.ConstraintLayout>