今や重なりあったアクション付きのUIが流行りとなり, 当然「タッチイベント」も重なり合ってくるわけでのメモ.

andevcon_mastering-the-android-touch-system.pdf
「親から子(背面から前面)に伝わっていく」ので, activity → view.
Android のタッチイベントを理解する(その1) - Unmotivated
なので, 早めに捉えると範囲が広く, 遅めに捉えると限定的で実装手間も少なくできる.
Android: Difference between onInterceptTouchEvent and dispatchTouchEvent? - Stack Overflow
親で伝搬を止める.
...
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
boolean response = super.onInterceptTouchEvent(event);
float x = event.getX();
switch (event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
mTouchX = x;
break;
case MotionEvent.ACTION_MOVE:
float dX = Math.abs(x - mTouchX);
if (dX > minSwipeDistance)
return true;
break;
}
return response;
}
...
子から伝搬を止めるのをやめさせる.
...
findViewById(R.id.button)
.getParent()
.requestDisqllowInterceptTouchEvent(true);
...
ほとんどのユーザからのイベントは重なっていることを実感するなど.
Correctly detecting a swipe on a GridView placed inside a ViewPager in Android - Stack Overflow