单击事件与触摸事件的区别
来源:互联网 发布:hibernate数据库方言 编辑:程序博客网 时间:2024/06/11 05:09
针对屏幕上的一个View组件,Android是如何区分应当触发onTouch事件还是onClick事件?在Android中,一次用户操作可以被不同的View组件按次序分别处理,并将完全响应了用户的一次UI操作称之为消耗了该事件(consume),那么Android是按什么次序将事件传递的,又在什么情况下判定为消耗了该事件?下面通过一段具体的代码进行说明。
在这段代码中,先为按钮添加单击事件监听器,并通过Log.i()方法输出onClick(单击事件)。然后为按钮添加触摸事件,通过判断方式输出当前手指是按下还是抬起。具体代码如下:
01 Button button = (Button) findViewById(R.id.btn); //获得按钮对象02 //为按钮添加单击事件监听器03 button.setOnClickListener(new View.OnClickListener() {04 @Override05 public void onClick(View v) {06 Log.i("onClick", "单击事件");07 }08 });09 //为按钮添加触摸事件监听器10 button.setOnTouchListener(new View.OnTouchListener() {11 @Override12 public boolean onTouch(View v, MotionEvent event) {13 if (event.getAction() == MotionEvent.ACTION_DOWN) { //表示手指按下时14 Log.i("onTouch", "按下");15 } else if (event.getAction() == MotionEvent.ACTION_UP) {//表示手指抬起时16 Log.i("onTouch", "抬起");17 }18 return false; //表示未消耗掉这个事件19 }20 });
执行上面的代码后,单击屏幕中的按钮,将会在LogCat面板中看到如图7.11所示的结果。
说明:为一个组件同时设置单击事件与触摸事件时,触摸事件首先被执行然后执行单击事件。当触摸事件监听器返回值为ture时,说明消耗掉了这个事件,将不再执行单击事件。
本文摘自明日科技出版的《零基础学Android》作者:李磊,转载请注明出处!!!
阅读全文
0 0
- 单击事件与触摸事件的区别
- Android触摸事件与点击事件的区别
- Android触摸事件与点击事件的区别
- android 触摸事件、点击事件的区别
- android 触摸事件、点击事件的区别
- android 触摸事件、点击事件的区别
- android 触摸事件、点击事件的区别
- android 触摸事件、点击事件的区别
- android 触摸事件、点击事件的区别
- Android 触摸事件、点击事件的区别
- android 触摸事件、点击事件的区别
- android 触摸事件、点击事件的区别
- Android 触摸事件、点击事件的区别
- android 触摸事件、点击事件的区别
- 触摸事件和点击事件的区别
- Android 触摸事件、点击事件的区别
- H5之12__触摸与单击:基本的事件处理
- java swing 单击事件mouseClicked与一般事件actionPerformed区别
- 桥梁模式应用场景
- wav格式与PCM格式的关系,pcm格式数据播放设置参数解析
- Spring5学习(二)-spring projects之Spring Security
- 用纯CSS写一个左右滑动的开关按钮
- apache和Nginx的区别
- 单击事件与触摸事件的区别
- 设计模式-单例模式(创建型模式)
- 动态设置HorizontalScrollView中imageview的宽度和高度
- 最近邻插值算法的c++实现(QT框架)
- ubuntu 文件夹Permission denied
- hadoop2.7.3-windows下开发环境搭建
- 正则表达式
- numpy数组基础
- Android开发者不可错过的11个开源项目