【安卓】乾坤大罗移,将容器触摸事件传至另一容器、!

思路:

1.基于view.dispatchTouchEvent

作用:

1.点击时,透过容器点到不是其子控件的控件、!

2.透过透明activity或dialog,将事件传至下方的activity、!

注:1>还可通过MotionEvent.obtain(downTime, eventTime, action, x, y, metaState);模拟事件,如用于引导中、!

被点击的容器:

public class MyLinearLayout extends LinearLayout {
	public MyLinearLayout(Context arg0, AttributeSet arg1) {
		// TODO Auto-generated constructor stub
		super(arg0, arg1);
	}

	@Override
	public boolean onInterceptTouchEvent(MotionEvent ev) {
		// TODO Auto-generated method stub
		MotionEvent event2 = MotionEvent.obtain(ev);

		//MainActivity.llTest为目标容器,即将事件复制一份分发至llTest
		MainActivity.llTest.dispatchTouchEvent(event2);
		return super.onInterceptTouchEvent(ev);
	}
}

效果图,下图点击左边按钮时,事件也传至右侧了:

【安卓】乾坤大罗移,将容器触摸事件传至另一容器、!

时间: 2024-10-08 15:03:20

【安卓】乾坤大罗移,将容器触摸事件传至另一容器、!的相关文章

【安卓】乾坤大罗移,将容器触摸事件传至还有一容器、!

思路: 1.基于view.dispatchTouchEvent 作用: 1.点击时,透过容器点到不是其子控件的控件.! 2.透过透明activity或dialog,将事件传至下方的activity.! 注:1>还可通过MotionEvent.obtain(downTime, eventTime, action, x, y, metaState);模拟事件,如用于引导中.. 被点击的容器: public class MyLinearLayout extends LinearLayout { pub

Android中TouchEvent触摸事件机制

当我们的手指在Android屏幕上点击或滑动时,就会触发触摸事件TouchEvent.在App中ViewGroup和View存在多级嵌套,在最外层的是Activity,最内层的View,介于Activity与View之间的是一些ViewGroup.本文为了简化讨论,我们假设一个Activity中只有一个ViewGroup,这个ViewGroup中只有一个View.当我们用手指触摸到View的UI时,就会产生触摸事件TouchEvent,总的过程如下图所示: 首先是最外层的Activity接收到该

android触摸事件流程(一)

对于android的触摸事件,一直以来都有点模糊,所以决定搞搞清楚.这里一共分三部分来解决这个问题:第一部分:触摸事件是如何起源的.第二部分:view是如何处理触摸事件的.第三部分:viewgroup是如何分发和处理触摸事件的. 这一次先看第一部分:触摸事件是如何起源的. 要理解这个问题,首先应该知道下面三点: 每一个需要显示到手机上的视图最总都是通过WindowManager.addview()的方式来实现的,比如我们常用的activity/popwindow/状态栏/锁屏/来闹钟界面等! 在

安卓触摸事件的分发,处理和消费,以及实现图片的拖动效果

Touch事件分发中只有两个主角:ViewGroup和View.Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理. View在ViewGroup内,ViewGroup也可以在其他ViewGroup内,这时候把内部的ViewGroup当成View来分析. ViewGroup的相关事件有三个:onInterceptTouchEvent.dispatchTouchEvent.onTouchEvent.View的相关事件只有两个:

【android学习】安卓设备实现触摸事件的监听,跨进程事件注入

最近想实现触摸屏的事件记录,并且分别做时间戳标记,类似于adb shell 下的getevent/setevent,查了很多资料,下面是一些总结. 实现方法: 1.利用onclick方法等.这种方法只能用于自己的Activity和View中,如果要检测其他Activity,比如键盘就不行了. 2.从linux内核入手.在事件分发前截获事件,可以对任意Activity实现事件捕获. android触摸事件的流程: http://blog.csdn.net/sunnyfans/article/det

安卓权威编程指南-笔记 (第29章定制视图与触摸事件)

1.定制视图 Android自带众多优秀的标准视图与组件,但有时为追求独特的应用视觉效果,我们仍需创建定制视图. 定制视图分为两大类别: 简单视图: 简单视图内部也可以很复杂,之所以归为简单类别,是因为简单视图不包括子视图,而且简单视图几乎总是会执行定制绘制. 聚合视图:聚合视图由其他视图对象组成,聚合视图通常管理着子视图,但不负责执行定制绘制,图形绘制任务都委托给了各个子视图. 创建定制视图的所需的三大步骤: 选择超类.对于简单定制视图而言,View是个空白画布,因此它作为超类最常见,对于聚合

测试安卓触摸事件的分发机制

概要: Activity |dispatchTouchEvent  ========================> ^onTouchEvent -- PhotoWindow.FragmentLayout ViewGroup |dispatchTouchEvent  = onInterceptTouchEvent > |onTouchEvent View |dispatchTouchEvent  ========================> |onTouchEvent 其中, 角

事件处理【安卓4】——键盘事件、触摸事件

OnKeyListener(键盘事件) 正则表达式       w:任意字符   +:一个或一个以上字符 1 TextView tv=(TextView) findViewById(R.id.keyTV02); 2 EditText input=(EditText) findViewById(R.id.keyET01); 3 ImageView img=(ImageView) findViewById(R.id.keyImg01); 4 input.setOnKeyListener(new On

Quick cocos2dx-Lua(V3.3R1)学习笔记(十三)-----继续触摸事件之多点触摸

在前面,我们提过了单点触摸,下面我们就试一下多点触摸的用法(我用的是cocos code ide进行手机调试,不会的,进入前一篇查看) function MainScene:ctor() local sprite = display.newSprite("close.png") --自己随便找个图片资源吧 sprite:align(display.CENTER, display.cx, display.cy) sprite:addTo(self) sprite:setTouchEnab