请教:如何区别点击事件和滑屏事件,不要通过判断滑动距离的那种判断方式
解决方案 »
- getItem和getItemID这俩货神马关系?
- 如何在照片中抠取一块固定的不规则图形
- android自定义EditText背景后,光标开始超出范围怎么处理
- Android4.0音乐播放器appwidget新增重复播放按钮图片如何于主应用同步更新
- Android GSensor游戏的方向问题—高手进!
- android.mk里面如何指定搜索其它目录的
- android 上如何通过SDL开发音视频播放功能
- android 系统下v4l2调用camera,VIDIOC_REQBUFS总是不成功
- 哪些网站可以上传Android APP?
- 请教,java写的服务器代码,安卓写客户端,无法互传数据
- 如何让多个activity分享蓝牙连接?
- LocationListener无法触发onStatusChanged事件
在这个接口中onDown(MotionEvent e) 是点击事件
onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)是滑屏事件
你可以参考下GridView pageView = (GridView) LayoutInflater.from(this).inflate(
R.layout.app_grid, null).findViewById(R.id.app_grid);viewFlipper.addView(pageView);
pageView.setOnTouchListener(this);/**
* 关键,手势检测器
*/
public boolean onTouch(View v, MotionEvent event) {
return this.detector.onTouchEvent(event);
}
源码地址请详见:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=108411
界面上有listview,既有滑屏,又有onItemClickListener事件,如何处理这个冲突
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
mDetector.onTouchEvent(ev);
mTextView.onTouchEvent(ev);
mScroll.onTouchEvent(ev);
return true;
}在派发事件中对所有的onTouchEvent()事件进行派发,顺序只是谁先处理,没有多大关系
注意后面一定是return true;因为return true就意味着dispatchTouchEvent会被系统响应
比如你的可以是这样:@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
mDetector.onTouchEvent(ev);//处理ListView的滑屏
mListView.onTouchEvent(ev);//处理ListView的点击事件包括onItemClickListener
return true;
}