美文网首页
9宫格解锁

9宫格解锁

作者: 贝克街的猫大哥呀 | 来源:发表于2018-08-03 16:09 被阅读0次

      这个自定义VIEW是非常满足面向对象的这个逻辑,每个解锁的点都是一个对象。包括了圆心坐标,以及当前圆的状态,如普通状态,选中状态,错误状态。 ondraw里是根据这三种状态 来绘制不同状态的圆,以及连线。

    先继承自VIEW,在内部类里定义好这个类,其中index表示的是这个点的下标。用来做最后的密码确认。

      在onMeasure测量完毕后,初始化各点,就是将坐标算出来,给各个点赋值,就是个数学题而以。

    下面讲讲onTouch方法里处理的事情,无非就是在down和move的时候,去检查当前TOUCH区域是否在圆里,以及UP事件的处理嘛:

    打标的第二个方法就是画那条跟着手指走的线,具体如下:

    当发现当前TOUCH点为圆时,就将当前的point加入到集合,并且立马重绘。就是改变圆的颜色!

    这里就是将当前的touch坐标全局化,至少哪里画线,当然是在ondraw里面啊!

    一个一个来看看:

    这里就是画一个内圆一个外圆,并且根据不同的状态,来画不同颜色

    接着是画线,画线其实挺容易,主要是圆和圆之间的箭头怎么画呢:

    画线挺容易的,主要是画箭头,这里是自己写了个方法,其实说白了,就是画三个线,拼成了一个三角形--

    关键就是这几句话。算出箭头的几个点的坐标,然后连起来,都是数学问题。

    相关文章

      网友评论

          本文标题:9宫格解锁

          本文链接:https://www.haomeiwen.com/subject/dwayvftx.html