View中的触摸事件可以汾为两个部分
Enabled
属性设为false
表示禁用View,Clickable
属性设置为false
表示按钮不可点击这两个属性初始状态都是true
,分别设置为true
和false
时对View的影响如下:
将第一个按钮的属性设置Enabled
为true
,Clickable
属性为false
第二个按钮的属性设置为相反值:
View触摸事件调用原则
View触摸事件调用顺序
触摸事件是通过MotionEvent
类来分发的(后面介绍),其中DOWN
表示手指按下MOVE
表示手指移动,UP
表示手指抬起
首先这篇文章仅仅针对于由于觸摸(Touch)而触发的事件。
还有一类控件是不能再包含子控件例如:TextView。
本文的主要讨论对象就是ViewGroup类的控件嵌套时事件触发情况
对于ViewGroup类的控件,有一个很重要的方法就是onInterceptTouchEvent(),用于处理事件并改变事件的传递方向它的返回值是一个布尔值,决定了Touch事件是否要向它包含的子View继續传递这个方法是从父View向子View传递。
而方法onTouchEvent()用于接收事件并处理,它的返回值也是一个布尔值决定了事件及后续事件是否继续向上传遞,这个方法是从子View向父View传递