android中重写onTouchEvent分别实现点击和滑动事件
16lz
2021-01-24
自定义的view实现自己的touch需求后同时要实现点击事件。
在自定义view内部重写onTouchEvent
private float DownX; private float DownY; private float UpX; private float UpY; @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: //获取相对屏幕的坐标(以屏幕左上角为原点,25是系统状态栏的高度) DownX = event.getRawX(); DownY = event.getRawY()-25; break; case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_UP: UpX = event.getRawX(); UpY = event.getRawY()-25; if(Math.abs(UpX-DownX)>10 || Math.abs(UpY - DownY)>10){ //处理滑动事件 mTouchStartX=mTouchStartY=0; }else{ //处理点击事件 } break; } return true; }
更多相关文章
- Android(安卓)自定义对话框(控制大小、位置)
- 【Android】几种常见广播监听器(Wifi,亮灭屏,Home键,短信)总结
- Android(安卓)源码解析 - ScrollView
- Android(安卓)butterknife注入完毕后不起作用
- 改变Android(安卓)对话框位置及边框
- android 获得当前view在屏幕的坐标
- Android(安卓)popupWindow响应back按键并关闭
- 如何分析解决Android(安卓)ANR
- 第20章、OnCheckedChangeListener事件(从零开始学Android)