3

ビューの1つにページ内にHorizo​​ntalScrollViewがあり、4.0では正常にスクロールできますが、2.2を実行するとViewPagerが次に移動します。

なにか提案を?

4

1 に答える 1

10

多分あなたはこれを試すことができます:

public class CustomViewPager extends ViewPager {

public CustomViewPager(Context context) {
    super(context);
}

public CustomViewPager(Context context, AttributeSet attrs) {
    super(context, attrs);
}

@Override
protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
    if(v instanceof HorizontalScrollView){
        return true;
    }
    return super.canScroll(v, checkV, dx, x, y);
}

}

説明:

これは、スクロールしたビューのビューが水平リストビューである場合、スクロールを無視して水平スクロールを「処理」する必要があることをビューページャーに伝えますが、スクロール(水平scroll) 水平スクロール ビューの外側では、viewpager でページが変更されます。また、外側から内側にスクロールすると (タブレットの外側から指が入ってくると)、viewpager はこの動作を無視してページを移動します。

于 2012-08-20T21:46:16.287 に答える