安卓触摸事件 可不可以 捕获记录并调用,做个快捷键啊

View中的触摸事件可以汾为两个部分

Enabled属性设为false表示禁用View,Clickable属性设置为false表示按钮不可点击这两个属性初始状态都是true,分别设置为truefalse时对View的影响如下:

将第一个按钮的属性设置EnabledtrueClickable属性为false第二个按钮的属性设置为相反值:

View触摸事件调用原则

View触摸事件调用顺序

触摸事件是通过MotionEvent类来分发的(后面介绍),其中DOWN表示手指按下MOVE表示手指移动,UP表示手指抬起

activity和VIEW都能接收触摸和按键如果响應事件只需要在继承类里复写事件函数即可

但是对于VIEW来说,我们如果不改变DRAW不需要继承,所以如果想响应事件则需要当一个视图(如┅个按钮)被触摸时,该对象上的 onTouchEvent() 方法会被调用不过,为了侦听这个事件你必须扩展这个类并重写该方法。很明显扩展每个你想使鼡的视图对象(只是处理一个事件)是荒唐的。这就是为什么视图类也包含了一个嵌套接口的集合这些接口含有实现起来简单得多的回調函数。这些接口叫做事件侦听器 event listeners


首先这篇文章仅仅针对于由于觸摸(Touch)而触发的事件。

还有一类控件是不能再包含子控件例如:TextView。

本文的主要讨论对象就是ViewGroup类的控件嵌套时事件触发情况

对于ViewGroup类的控件,有一个很重要的方法就是onInterceptTouchEvent(),用于处理事件并改变事件的传递方向它的返回值是一个布尔值,决定了Touch事件是否要向它包含的子View继續传递这个方法是从父View向子View传递。

而方法onTouchEvent()用于接收事件并处理,它的返回值也是一个布尔值决定了事件及后续事件是否继续向上传遞,这个方法是从子View向父View传递

我要回帖

 

随机推荐