研究安卓手势相关的监听事件
2012-09-13 14:22
218 查看
android os 支持丰富的手势操纵,点击、长按、滑动等,今天主要研究了下支持这些手势操纵实现的监听事件:OnTouch和OnClick,这两个响应事件有什么区别?如果我要在界面上按下按钮,执行某个操作,是用OnTouch好还是用OnClick好?
一,onTouch返回false
首先是onTouch事件的down事件发生,此时,如果长按,触发onLongClick事件;
然后是onTouch事件的up事件发生,up完毕,最后触发onClick事件。
二,onTouch返回true
首先是onTouch事件的down事件发生,然后是onTouch事件的up事件发生;期间不触发onClick和onLongClick事件
三,onTouch:down返回true,up返回false:结果同二。
机制分析:
onTouch事件中:down事件返回值标记此次事件是否为点击事件(返回false,是点击事件;返回true,不记为点击事件),而up事件标记此次事件结束时间,也就是判断是否为长按。
只要当down返回true时候,系统将不把本次事件记录为点击事件,也就不会触发onClick或者onLongClick事件了。因此尽管当up的时候返回false,系统也不会继续触发onClick事件了。
四,onTouch:down返回false,up返回true:
首先是onTouch事件的down事件发生,此时:
长按,触发onLongClick事件,然后是onTouch事件的up事件发生,完毕。
短按,先触发onTouch的up事件, 到一定时间后,自动触发onLongClick事件。
机制分析:
onTouch事件中:down事件返回值标记此次事件是否为点击事件(返回false,是点击事件;返回true,不记为点击事件),而up事件标记此次事件结束时间,也就是判断是否为长按。
当down返回false,标记此次事件为点击事件,而up返回了true,则表示此次事件一直没有结束,也就是一直长按下去了,达到长按临界时间后,自然触发长按事件,而onClick事件没有触发到。
了解了以上内容,对于我们实现相应的手势来丰富所开发的应用的操作,提升用户体验,是非常有必要的。
一,onTouch返回false
首先是onTouch事件的down事件发生,此时,如果长按,触发onLongClick事件;
然后是onTouch事件的up事件发生,up完毕,最后触发onClick事件。
二,onTouch返回true
首先是onTouch事件的down事件发生,然后是onTouch事件的up事件发生;期间不触发onClick和onLongClick事件
三,onTouch:down返回true,up返回false:结果同二。
机制分析:
onTouch事件中:down事件返回值标记此次事件是否为点击事件(返回false,是点击事件;返回true,不记为点击事件),而up事件标记此次事件结束时间,也就是判断是否为长按。
只要当down返回true时候,系统将不把本次事件记录为点击事件,也就不会触发onClick或者onLongClick事件了。因此尽管当up的时候返回false,系统也不会继续触发onClick事件了。
四,onTouch:down返回false,up返回true:
首先是onTouch事件的down事件发生,此时:
长按,触发onLongClick事件,然后是onTouch事件的up事件发生,完毕。
短按,先触发onTouch的up事件, 到一定时间后,自动触发onLongClick事件。
机制分析:
onTouch事件中:down事件返回值标记此次事件是否为点击事件(返回false,是点击事件;返回true,不记为点击事件),而up事件标记此次事件结束时间,也就是判断是否为长按。
当down返回false,标记此次事件为点击事件,而up返回了true,则表示此次事件一直没有结束,也就是一直长按下去了,达到长按临界时间后,自然触发长按事件,而onClick事件没有触发到。
了解了以上内容,对于我们实现相应的手势来丰富所开发的应用的操作,提升用户体验,是非常有必要的。
相关文章推荐
- 安卓GridView实现监听手势滑屏翻页
- 安卓开发中的手势操作监听1双击2.滑动关闭Activity 3.放大缩小图片等手势操作,
- webapp开发相关jquery手势事件之jGestures
- 安卓笔记1:点击监听事件的实现
- 安卓中RecyclerView的简单使用和自定义RecyclerView的接口点击监听事件
- 安卓 基于监听接口的事件处理
- IEngineEditor与IWorkspaceEdit,以及相关的事件监听
- 安卓后台监听按键事件
- 安卓(Android)动态创建多个按钮并添加监听事件
- 小白带你学安卓——简单的事件监听
- 安卓学习笔记---Fragment 里面加webview 监听onback事件(WebView的返回以及整个退出事件)
- 安卓学习之事件监听
- 安卓日历日程事件获取和监听汇总
- 关于鼠标的3个相关监听事件
- IEngineEditor与IWorkspaceEdit,以及相关的事件监听
- 安卓开发最简单的按键监听事件
- 滑轮控件研究三、GestureDetector的中手势事件的测试
- ScrollView中事件监听和GestureDetector手势监听冲突
- 安卓——监听事件
- 安卓基于监听事件处理(一)