【发布时间】:2014-10-14 06:45:06
【问题描述】:
我正在尝试实现 Catch onTouch event by parent, handle it and pass to children 但未能做到这一点。
完整二维滚动码的要点是here
我尝试过的:
重写 dispatchTouchEvent 方法,并将 MotionEvent 发送到 GestureDetector
@Override
public boolean dispatchTouchEvent (MotionEvent ev) {
// return super.dispatchTouchEvent(ev);
boolean result = super.dispatchTouchEvent(ev);
if (gestureDetector.onTouchEvent(ev)) {
return result;
}
//If not scrolling vertically (more y than x), don't hijack the event.
else {
return false;
}
}
活动:
setContentView(R.layout.activity_fullscreen);
final View contentView = findViewById(R.id.fullscreen_content);
android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
ctx = this;
ShapeDrawableView animView = new ShapeDrawableView(this, fm, ctx);//customview
((ViewGroup) contentView).addView(animView);
布局:
<view
class="com.example.astream.TwoDScrollView"
android:id="@+id/fullscreen_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" />
【问题讨论】:
标签: android android-layout android-view touch-event android-scrollview