package com.asha.md360player4android; import android.annotation.TargetApi; import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.os.Build; import android.support.annotation.Nullable; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; /** * Created by hzqiujiadi on 2017/4/21. * hzqiujiadi ashqalcn@gmail.com */ public class HoverView extends View { private Paint paint; private float x; private float y; private float radius; public HoverView(Context context) { super(context); initView(); } public HoverView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); initView(); } public HoverView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initView(); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) public HoverView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); initView(); } private void initView() { paint = new Paint(); paint.setColor(0xFF0000FF); } @Override public boolean onHoverEvent(MotionEvent event) { super.onHoverEvent(event); final int action = event.getActionMasked(); switch (action){ case MotionEvent.ACTION_HOVER_ENTER: case MotionEvent.ACTION_HOVER_MOVE: x = event.getX(); y = event.getY(); radius = (event.getEventTime() - event.getDownTime()) / 100 + 1; break; case MotionEvent.ACTION_HOVER_EXIT: radius = 0; break; } return true; } @Override protected void onDraw(Canvas canvas) { if (radius != 0){ canvas.drawCircle(x, y, radius, paint); } } }