2012-07-21 51 views

回答

3

这是一个非常棘手的部分。有一个来自Activity的覆盖方法,它是:public boolean onTouchEvent(MotionEvent event)

这是从整个屏幕解释所有触摸事件的一般方法。你可以说,“好吧,我可以实现这一点,我很好去..”。关于android如何工作的难点在于此。

正如你所知道的每View都有自己onTouchEvent()方法,你可以为了增加一些自定义实现执行。那么哪种方法会听? ScrollViewActivity?看起来,这些触摸事件从“内部”元素到“外部”元素。我的意思是亲子关系。

另一个要考虑的是,该方法的onTouchEvent返回一个布尔值。该布尔参数确定触摸事件是否应该上升一级或由当前的View处理。也就是说,如果你有一个CustomViewA一个实现了的onTouchEvent()和CustomViewB实现了自己的触摸事件,而A在B个孩子,触摸事件将经过第一,如果不处理它会去B.

所以基本上是的,它可以这样做。这取决于你想要做什么触摸事件。

所以在我们的情况下,ScrollView回报true当触摸事件的水平。只有在ScrollView触摸事件不是由自己处理的情况下,您才能处理该活动的触摸事件,那么您很好。否则,您必须重写并实现滚动视图的触摸事件,并且在某些情况下,您必须返回false才能使整个布局实现它。祝好运,最后一部分。我开始实施一种效果,但遇到了一些困难,所以我实现了两个手指移动,其中滚动视图,它就像一个魅力。

这是关于研究和试验一个星期,这是什么,我想出了一个概述。如果你发现任何其他事情,请让我知道。希望它有帮助。