Android事件分发详解(七)——将事件分发至特定的子View.

package cn.c;
import android.os.Bundle;
import android.app.Activity;
import android.view.MotionEvent;
import android.widget.Button;
/**
 * Demo描述:
 * 在MainActivity的dispatchTouchEvent方法中直接将事件指定给了MyButton
 * 比较简单,参见代码即可
 *
 * 备注说明:
 * 其他的代码和前几个例子一样,故不再贴出.
 *
 */

public class MainActivity extends Activity {
	private Button myButton;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        myButton=(Button) findViewById(R.id.button);
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
    	return myButton.dispatchTouchEvent(ev);
    }

	@Override
	public void onUserInteraction() {
		super.onUserInteraction();
	}

	@Override
	public boolean onTouchEvent(MotionEvent event) {
		switch (event.getAction()) {
		case MotionEvent.ACTION_DOWN:
			break;
		case MotionEvent.ACTION_MOVE:
			break;
		case MotionEvent.ACTION_UP:
			break;
		}
		return super.onTouchEvent(event);
	}

}
时间: 2024-11-08 20:15:24

Android事件分发详解(七)——将事件分发至特定的子View.的相关文章

Android事件分发详解(五)——Touch事件传递验证

MainActivity如下: package cn.c; import android.os.Bundle; import android.app.Activity; import android.view.MotionEvent; /** * Demo描述: * 分析Android事件分发和处理机制 * * * 总结: * 1 ViewGroup继承自View * 事件的传递方向为:从最外层(Activity)传递至最内层(某个View) * 事件的消费方向为:从最内层(某个View)传递至

Android事件分发详解(二)——Touch事件传入到Activity的流程

PS: 该系列博客已更新,详情请参见: http://blog.csdn.net/lfdfhl/article/details/50707742 http://blog.csdn.net/lfdfhl/article/details/50707731 http://blog.csdn.net/lfdfhl/article/details/50707724 http://blog.csdn.net/lfdfhl/article/details/50707721 http://blog.csdn.n

Android 事件分发详解及示例代码_Android

事件分发是Android中非常重要的机制,是用户与界面交互的基础.这篇文章将通过示例打印出的Log,绘制出事件分发的流程图,让大家更容易的去理解Android的事件分发机制. 一.必要的基础知识 1.相关方法 Android中与事件分发相关的方法主要包括dispatchTouchEvent.onInterceptTouchEvent.onTouchEvent三个方法,而事件分发一般会经过三种容器,分别为Activity.ViewGroup.View.下表对这三种容器分别拥有的事件分发相关方法进行

Android编程输入事件流程详解_Android

本文实例讲述了Android编程输入事件流程.分享给大家供大家参考,具体如下: EventHub对输入设备进行了封装.输入设备驱动程序对用户空间应用程序提供一些设备文件,这些设备文件放在/dev/input里面. EventHub扫描/dev/input下所有设备文件,并打开它们. bool EventHub::openPlatformInput(void) { ... mFDCount = 1; mFDs = (pollfd *)calloc(1, sizeof(mFDs[0])); mDev

Jquery基础之事件操作详解_jquery

事件是用户操作时页面或页面加载时引发的用来完成javascript和HTML之间的交互操作.常见的元素点击事件.鼠标事件.键盘输入事件等,较传Javascript 相比JQuery增加并扩展了基本的事件处理机制,极大的增强了事件处理的能力. 一.DOM加载事件 页面加载完毕后浏览器会通过javascript为Dom元素加载事件,使用Javascript时候使用的是window.onload方法,而Jquery使用的是$(document).ready()方法,下表 展示两个事件的异同. wind

jQuery事件用法详解_jquery

JavaScript在浏览器中以单线程模式运行,页面加载后,一旦页面上所有的JavaScript代码被执行完后,就只能依赖触发事件来执行JavaScript代码. 我们可以用jQuery这样绑定一个click事件: /* HTML: * * <a id="test-link" href="#0">点我试试</a> * */ // 获取超链接的jQuery对象: var a = $('#test-link'); a.on('click', fu

javascript 中的事件委托详解_基础知识

这几天看到一个面试题,大概就是,让你给1000个li都添加一个click事件,应该怎么添加?大多数人第一开始的感觉可能就是,每个li上边都添加一个呗,那要是这样的话,估计面试的时候就会GG了,这里就是撤出了我们的事件冒泡和捕获机制,以及事件委托机制,对于上边这些,我们慢慢来看. 首先说一下事件冒泡和事件捕获机制,事件冒泡是有微软公司提出来的,事件捕获是有网景公司提出来的,当时两家是争论的不可开交,后来w3c也没办法,就采取了折中的方式,事件产生后先捕获后冒泡, 通常,在js中监听事件的方法共有三

MySQL binlog中的事件类型详解_Mysql

MySQL binlog记录的所有操作实际上都有对应的事件类型的,譬如STATEMENT格式中的DML操作对应的是QUERY_EVENT类型,ROW格式下的DML操作对应的是ROWS_EVENT类型. 首先,看看源码中定义的事件类型 源码位置:mysql-5.7.14/libbinlogevents/include/binlog_event.h enum Log_event_type { /** Every time you update this enum (when you add a ty

jquery上传插件:plupload事件参数说明详解

本篇重点说明一下plupload的事件参数.并用2个例子说明一下绑定事件. 1.plupload参数说明: Browse_button:触发浏览文件按钮标签的唯一id,,在flash.html5.和silverlight中能找到触发事件的源(我理解的,这个参数在队列部件不需要参见) Container: 展现上传文件列表的容器,[默认是body] chunk_size:当上传文件大于服务器接收端文件大小限制的时候,可以分多次请求发给服务器,如果不需要从设置中移出 drop_element:当浏览