2012-07-21 56 views

回答

3

這是一個非常棘手的部分。有一個來自Activity的覆蓋方法,它是:public boolean onTouchEvent(MotionEvent event)

這是從整個屏幕解釋所有觸摸事件的一般方法。你可以說,「好吧,我可以實現這一點,我很好去..」。關於android如何工作的難點在於此。

正如你所知道的每View都有自己onTouchEvent()方法,你可以爲了增加一些自定義實現執行。那麼哪種方法會聽? ScrollViewActivity?看起來,這些觸摸事件從「內部」元素到「外部」元素。我的意思是親子關係。

另一個要考慮的是,該方法的onTouchEvent返回一個布爾值。該布爾參數確定觸摸事件是否應該上升一級或由當前的View處理。也就是說,如果你有一個CustomViewA一個實現了的onTouchEvent()和CustomViewB實現了自己的觸摸事件,而A在B個孩子,觸摸事件將經過第一,如果不處理它會去B.

所以基本上是的,它可以這樣做。這取決於你想要做什麼觸摸事件。

所以在我們的情況下,ScrollView回報true當觸摸事件的水平。只有在ScrollView觸摸事件不是由自己處理的情況下,您才能處理該活動的觸摸事件,那麼您很好。否則,您必須重寫並實現滾動視圖的觸摸事件,並且在某些情況下,您必須返回false才能使整個佈局實現它。祝好運,最後一部分。我開始實施一種效果,但遇到了一些困難,所以我實現了兩個手指移動,其中滾動視圖,它就像一個魅力。

這是關於研究和試驗一個星期,這是什麼,我想出了一個概述。如果你發現任何其他事情,請讓我知道。希望它有幫助。