Android----paint触摸轨迹监听
生活随笔
收集整理的這篇文章主要介紹了
Android----paint触摸轨迹监听
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
paint觸摸軌跡監聽,主要是三種而已,ACTION_DOWN,ACTION_MOVE,ACTION_UP
public boolean onTouchEvent(MotionEvent event){int action = event.getAction();float x = event.getX();float y = event.getY();switch(action){case MotionEvent.ACTION_DOWN:mPath.moveTo(x, y);break;case MotionEvent.ACTION_MOVE:mPath.quadTo(mPosX, mPosY, x, y);break;case MotionEvent.ACTION_UP://mPath.reset();break;}//記錄當前觸摸點得當前得坐標mPosX = x;mPosY = y; return true; }但是觸摸繪制軌跡有兩種效果,一種是手指移動完畢,軌跡出現,那么設置在ACTION_UP中:在ACTION_UP中繪制cacheCanvas.drawPath(path, paint);
public boolean onTouchEvent(MotionEvent event) {// TODO Auto-generated method stubfloat x = event.getX();float y = event.getY();switch (event.getAction()) {case MotionEvent.ACTION_DOWN : {cur_x = x;cur_y = y;path.moveTo(cur_x, cur_y);isMoving = true;break;}case MotionEvent.ACTION_MOVE : {if (!isMoving)break;// 二次曲線方式繪制 path.quadTo(cur_x, cur_y, x, y);// cacheCanvas.drawPath(path, paint);// 下面這個方法貌似跟上面一樣// path.lineTo(x, y);cur_x = x;cur_y = y;break;}case MotionEvent.ACTION_UP : {// 鼠標彈起保存最后狀態 cacheCanvas.drawPath(path, paint);path.reset();isMoving = false;break;}}第二種是觸摸的時候顯示繪制軌跡,那么就在ACTION_MOVE中設置:cacheCanvas.drawPath(path, paint);
public boolean onTouchEvent(MotionEvent event) {// TODO Auto-generated method stubfloat x = event.getX();float y = event.getY();switch (event.getAction()) {case MotionEvent.ACTION_DOWN : {cur_x = x;cur_y = y;path.moveTo(cur_x, cur_y);isMoving = true;break;}case MotionEvent.ACTION_MOVE : {if (!isMoving)break;// 二次曲線方式繪制 path.quadTo(cur_x, cur_y, x, y);cacheCanvas.drawPath(path, paint);// 下面這個方法貌似跟上面一樣// path.lineTo(x, y);cur_x = x;cur_y = y;break;}case MotionEvent.ACTION_UP : {// 鼠標彈起保存最后狀態// cacheCanvas.drawPath(path, paint); path.reset();isMoving = false;break;}}?
轉載于:https://www.cnblogs.com/Anita9002/p/4341307.html
總結
以上是生活随笔為你收集整理的Android----paint触摸轨迹监听的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BIEE汇总数据如何放在后面
- 下一篇: 时间记忆要有记忆