誰もが私の解決策を知りたい場合は:
public class CustomScrollView extends ScrollView {
private GestureDetector mGestureDetector;
View.OnTouchListener mGestureListener;
public CustomScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
mGestureDetector = new GestureDetector(context, new YScrollDetector());
setFadingEdgeLength(0);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev)
&& mGestureDetector.onTouchEvent(ev);
}
// Return false if we're scrolling in the x direction
class YScrollDetector extends SimpleOnGestureListener {
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY) {
if (Math.abs(distanceY) > Math.abs(distanceX)) {
return true;
}
return false;
}
}
}
をし、最も外側のViewPagerは次のとおりです。
public class NestingViewPager extends ViewPager {
public NestingViewPager(final Context context, final AttributeSet attrs) {
super(context, attrs);
}
public NestingViewPager(final Context context) {
super(context);
}
@Override
protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
if (v != this && v instanceof ViewPager) {
return true;
}
return super.canScroll(v, checkV, dx, x, y);
}
}
はあなたの問題を解決しましたか?私はまさにあなたが試みたものをやろうとしています。 – tasomaniac
はい私の解決策は以下の通りです。あなたが助けを必要とするかどうか私に教えてください! – egfconnor
私はその解決策を試しましたが、スクロールレイアウト内でクリック可能なアイテムに問題が生じます。クリック可能なアイテムを縦方向にスクロールすると、スクロール・ビューはスクロールしていません。 – tasomaniac