アンドロイドの開発:(a)のAndroidのタッチイベント配信配信メカニズムを学習探検

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/qq_39027256/article/details/102769022

最初の投稿フローチャート:

 私たちはの活動引き金画面をクリックして1 、(渡さない)、それはtrueまたはfalseを返した場合に消費されるイベントを表し、dispatchTouchEvent()メソッドを(スーパーに戻る)dispatchTouchEventのViewGroupの()メソッドが広がっていきます。

2. dispatchTouchEventのViewGroup()メソッドがtrueを返した場合、イベントは、消費者に代わってあります。偽は、onTouchEvent活動()処理のための方法に戻すonInterceptTouchEventのViewGroupイベント()メソッドに渡されます)(スーパーが返されますイベントに返送された場合、onInterceptTouchEventは()イベントインターセプト真の代表を返す、のViewGroupにイベントを置きますonTouchEvent()処理の方法、それは(偽またはスーパーを返した場合)は、イベントをインターセプトしませ表し、イベントは)(dispatchTouchEventのビューに渡され、

同イベントは、消費者に代わっているときdispatchTouchEvent()のビューがtrueを返した場合3.、それはfalseを返し、イベントはスーパーにonTouchEvent()メソッドを表示するには()イベントを返すためのonTouchEventのViewGroup()に配信されます、onTouchEvent()はトゥーレの代表を返します。イベントが消費されているイベント・デリバリー()は床に背中onTouchEvent場合、彼はfalseを返します。

要約:

dispatchTouchEvent()メソッド:

  • trueを返す:消費イベント、配信の終了。
  • falseを返す:親ビューのonTouchEvent()メソッドにイベントを渡します。dispatchTouchEvent()メソッドの活性は、イベントが消費されている場合は、転送を終了します。
  • スーパーを返す:活動は、その後、次のレベルのビューdispatchTouchEventの(のViewGroup)に渡された場合、それはのViewGroupある場合、()彼のonInterceptTouchEventに渡され、ビューは、その後、彼のonTouchEvent()に渡された場合。


onInterceptTouchEvent()メソッド:

  • trueを返す:イベントは、処理のために自分のonTouchEvent()メソッドをのViewGroupに渡されます。
  • 偽/スーパーを返す:dispatchTouchEventは(次のレベルのビューにイベントを渡します)。
  • onInterceptTouchEvent()メソッドは、ユニークviewGrounpです

onTouchEvent()メソッド:

  • trueを返す:消費イベント、配信の終了。
  • 偽/スーパーを返す:のビューでonTouchEvent()メソッドにイベントを渡します。
  • onTouchEventの活動()メソッドは、イベントが終了しているものに関係なく返されます

特に霧の絵を描く、非常に良いではない書かれた、オンラインの記事をたくさん読んで、それがすべてでは読み取ることができません。ナゲッツは最終的にによって書かれた良い記事を見つけました:

https://juejin.im/post/5a0fab1bf265da432d27ad70

おすすめ

転載: blog.csdn.net/qq_39027256/article/details/102769022