当前位置:编程学习 > wap >>

涂鸦板项目不懂之处

有谁做过涂鸦板的项目。

path.quadTo(preX, preY, (x + preX)/2, (y + preY)/2);
为什么要1/2

public boolean onTouchEvent(MotionEvent event) {
// 获取触摸事件的发生位置
float x = event.getX();
float y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Toast.makeText(getContext(), ""+x, Toast.LENGTH_LONG).show();
path.moveTo(x, y); // 将绘图的起始点移到(x,y)坐标点的位置
preX = x;
preY = y;
break;
case MotionEvent.ACTION_MOVE:
float dx = java.lang.Math.abs(x - preX);
//float dy = Math.abs(y - preY);
    //if(dx>=100||dy>=100){// 判断是否在允许的范围内
path.quadTo(preX, preY, (x + preX)/2, (y + preY)/2);
preX = x;//多去尝试动手能力,每句话的代码都非常重要,
preY = y;//}每一句话都是非常重要的,不要糊涂。

break;
case MotionEvent.ACTION_UP:

cacheCanvas.drawPath(path, paint); //绘制路径
    path.reset();//每句话都非常重要
break;
}
invalidate();
return true; // 返回true表明处理方法已经处理该事件
}

Path view android
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,