您的位置:首页 > 移动开发 > Android开发

android 自定义View实现长按事件

2016-03-22 10:45 399 查看
最近开发一个股票交易的App,涉及到长按走势图出现十字线的效果,实现原理:重写onTouch事件,在actionDown里面记录当前的downTime时间,在Action_move里面记录当前的eventTime时间,如果eventTime-downTIme大于1000,则视为一次长按事件:核心代码如下:

public boolean onTouchEvent(MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN){
Log.e("actionDown","进入了x="+x+" y="+y);
x= event.getX();
y=event.getY();
downTime=event.getDownTime();
}else if (event.getAction()==MotionEvent.ACTION_MOVE){
x=event.getX();
y=event.getY();
if(event.getEventTime()-downTime>1000){
Log.e("action move", "可以画十字线了");
postInvalidate();
}

}else if(event.getAction()==MotionEvent.ACTION_UP){
long time=event.getEventTime();
Log.e("event actionUp",time+" downTime="+event.getDownTime());
}

return true;
}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  View