先上效果图:
思路:
1. 定义四个点, 初始化四个点的坐标,绘制点。
2. 绘制 直线,把四个点连接起来。
3. 根据四个点的坐标绘制直线路径,填充颜色。
4. 判断手势是否点中四个点的坐标范围内。
5. 手势移动时重绘当前 View 。
代码:
自定义 View ,定义四个点:
public class DotView extends View {
//定义四个点的坐标
private float dot1_x;
private float dot1_y;
private float dot2_x;
private float dot2_y;
private float dot3_x;
private float dot3_y;
private float dot4_x;
private float dot4_y;
//触摸事件的坐标
private float event_x;
private float event_y;
//四点坐标的数组
private float[] pts;
//控件的宽和高
private float v_width;
private float v_height;
//手势选中的点 标记
private int select_index=0;
初始化四个点的默认坐标:
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
//初始化四个点的默认坐标
v_width = this.getWidth(); //获取当前View的宽
v_height = this.getHeight(); //获取当前View的高
dot1_x=v_width/2-250; //点1 x轴坐标
dot1_y=v_height/2+250; //点1 y轴坐标
d