ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> Android开发 >> 金田一少年事件簿香港九龙财宝杀人事件 单击事件与触摸事件的区别

金田一少年事件簿香港九龙财宝杀人事件 单击事件与触摸事件的区别

来源:网络整理     时间:2017-12-04     关键词:金田一少年事件簿香港九龙财宝杀人事件

本篇文章主要介绍了"金田一少年事件簿香港九龙财宝杀人事件 单击事件与触摸事件的区别",主要涉及到金田一少年事件簿香港九龙财宝杀人事件方面的内容,对于Android开发感兴趣的同学可以参考一下: 针对屏幕上的一个View组件,Android是如何区分应当触发onTouch事件还是onClick事件?在Android中,一次用户操作可以被不同的View组件...

针对屏幕上的一个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     @Override
05     publicvoid onClick(View v) {
06             Log.i("onClick", "单击事件");
07         }
08     });
09     //为按钮添加触摸事件监听器
10     button.setOnTouchListener(new View.OnTouchListener() {
11     @Override
12     publicboolean onTouch(View v, MotionEvent event) {
13     if (event.getAction() == MotionEvent.ACTION_DOWN) {  //表示手指按下时
14     Log.i("onTouch", "按下");
15             } elseif (event.getAction() == MotionEvent.ACTION_UP) {//表示手指抬起时
16     Log.i("onTouch", "抬起");
17             }
18     returnfalse;     //表示未消耗掉这个事件
19     }
20     });

执行上面的代码后,单击屏幕中的按钮,将会在LogCat面板中看到如图7.11所示的结果。

  单击事件与触摸事件的区别

图7.11   显示执行顺序

说明:为一个组件同时设置单击事件与触摸事件时,触摸事件首先被执行然后执行单击事件。当触摸事件监听器返回值为ture时,说明消耗掉了这个事件,将不再执行单击事件。

 

本文摘自明日科技出版的《零基础学Android》作者:李磊,转载请注明出处!!!

以上就介绍了金田一少年事件簿香港九龙财宝杀人事件 单击事件与触摸事件的区别,包括了金田一少年事件簿香港九龙财宝杀人事件方面的内容,希望对Android开发有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_4515522.html

金田一少年事件簿香港九龙财宝杀人事件相关图片

金田一少年事件簿香港九龙财宝杀人事件相关文章