关于onTouch事件的讲解

概要:android存在事件分发机制。事件分发是父控件向子控件传递,子控件处理事件,然后逐层返回父控件

事件分发:ondispatchevent ontouchevent:此事件不做任何解释,只是单纯的分发控件

      onintercepttouchevent:此事件是有返回值的,boolean

        其返回值含义:返回true表示事件不会再向下传递,由此控件(父控件)来处理

              返回false 表示事件还会传递给子控件。

事件处理:ontouchevent 此事件也有返回值,boolean

      其返回值涵义:返回true表示此事件由此控件处理完毕后不会将事件再交给父控件

              返回false表示此事件在此控件处理完毕后会继续给父控件处理

注意:  onintercepttouchevent中可以处理完down up move 事件后通过返回false向下继续分发,子控件可以接受到事件消息

      ontouchevent中只看down事件,如果down事件返回false,则处理完down事件后并不会处理其他(move up)事件,

                     如果down事件返回false,则可以处理本控件的其他事件,但不会处理子控件的其它事件

问题:为什么ontouchevent不能down事件true,move 事件返回false时仍然没有任何效果,那么手势操作里面filling的返回值有什么意义

时间: 2024-10-10 16:08:03

关于onTouch事件的讲解的相关文章

android事件系列-onTouch事件与手势操作

提示记忆:应用流程:在Activity中对控件执行 view.setOnTouchListener( OnTouchListener i);实现里面的OnTouchListener 接口中的方法,重点再于理解里面的方法的实现步骤, 触摸,手势操作已经很好的融入了我们的生活.那么Android开发中触摸事件要如何捕捉?如何处理?如何识别手势?事件的传递机制又是怎么样的?下面我们将通过一个小例子来进行这方面的学习. 先看效果图 <ignore_js_op> 如上图所示,就是一个跟随手指移动的按钮.

onTouch事件传递机制

在触发OnTouch事件时Android的GroupView会调用3个函数: public boolean dispatchTouchEvent(MotionEvent ev)  //用于事件分发 public boolean onInterceptTouchEvent(MotionEvent ev)  //用于事件的拦截 public boolean onTouchEvent(MotionEvent ev)  //处理事件 本文主要讨论ViewGroup类的控件嵌套时事件的触发情况 对于Vie

Android 事件中 OnTouch 事件

Android 事件中 OnTouch  事件: 实现的方式: 1 监听 2 回调 1 监听: package com.example.conflicttest; import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.Menu; import android.view.MotionEvent; import android.view.View; imp

android ontouch事件分发机制

android中onclick,onlongclick,onfling,onscroll等事件都是由多个ontouch事件构成,一个完整的触屏事件必须包含1个ACTION_DOWN(按下),多个ACTION_MOVE(移动),1个ACTION_UP(放开)构成,touch事件分发就是这些事件在viewgroup和view之间轮转的过程. 1.viewgroup继承view,view中包含dispatchTouchEvent和onTouchEvent两个和事件分发直接相关两个方法,viewgrou

2-1-http服务及IO事件模型讲解

web服务的事务过程:客户端通过user agent(浏览器)发起请求,服务端响应(httpd.apache) web服务的核心协议是应用层的http或https协议Nginx:engine X=Nginxhttp协议:web服务器(类似httpd).http reverse proxy(类似于httpd).imap/pop3 reverse proxy---更多的是应用在reverse proxyNGINX is a free,open-source,high-performance HTTP

android fragment ontouch 事件

由于fragment是存在于activity之中的,所以触摸事件会被activity首先得到. 为了在fragment中执行ontouch方法,需要做如下处理: [java] view plaincopy mFragment = new TabelFragment(); View view = (View)findViewById(R.id.main_item_details); view.setOnTouchListener((TabelFragment)mFragment); ft.add(

关于android 的onTouch 事件失效问题

1.当页面中有listView时,事件加在listview上. 2.如果ontouch只触发MotionEvent.ACTION_DOWN动作的话, 为添加事件的view再设置一个属性 view.setLongClickable(true);

c#委托事件及其讲解

一定要标明出处,波哥的文章.所有文章都值得一看.这篇是摘抄的大白话之C#事件讲解.委托 http://www.cnblogs.com/wudiwushen/archive/2010/04/20/1703368.html 例子是小明委托小明去买电影票 c#语法如下: public delegate void BugTicketEventHandler(); delegate 是关键词,[注:EventHandler是一个声明委托的微软C#的命名标准,我的习惯是标准就要第一时间说,也就这个命名习惯要

onTouch事件试验(覆写onTouchEvent方法,同时设置onTouchListener)

xml布局文件 <</span>RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent&qu