第一步:是绘制26个字母的view:
在每个构造方法中调用下面的init()方法实现画笔的初始化
然后是onDraw()方法进行绘制:
根据注释可以清楚的知道绘制的原理,就是计算26个字母的x和y坐标,x左边不变的,y坐标规律的增加。
接下来重写onTouchEvent()方法
原理就是根据两个索引值,即当前按下字母的索引是否和上次的一样,如果不一样才会调用接口把字母暴露给调用方,否则如果不进行判断的话,就会导致当手指在快速索引条上移动的时候总是会弹出相同的字母。还有就是记录了一个按下的mTouched值,如果按下或者移动设置为true,否则为false。这样就可以根据是否按下来绘制背景改变颜色了。再看一下ACTION_UP事件中暴露onFinished()方法给调用方,主要是为了将弹出的字母隐藏掉。这样当手指按下的时候会弹出当前的字母,当手指抬起就会立即消失。
当view的大小发生变化时获取单元格的宽和高
接下来就是回调接口:
转载地址 http://blog.csdn.net/linxi7/article/details/52133684