ビューページャーが一方向にのみスクロールしないようにするにはどうすればよいですか。たとえば、スワイプは右にのみ許可し、左には許可しません。私は絶対に立ち往生しています、どんな助けでも大歓迎です。これをAndroidバージョン2.2で機能させる必要があることに注意してください。そのため、ViewPagerの互換性ライブラリを使用しています。
前もって感謝します
ビューページャーが一方向にのみスクロールしないようにするにはどうすればよいですか。たとえば、スワイプは右にのみ許可し、左には許可しません。私は絶対に立ち往生しています、どんな助けでも大歓迎です。これをAndroidバージョン2.2で機能させる必要があることに注意してください。そのため、ViewPagerの互換性ライブラリを使用しています。
前もって感謝します
元のViewPagerを拡張し、onTouchEventメソッドをオーバーライドする独自のViewPagerを作成する必要があります
public class CustomViewPager extends ViewPager {
float lastX = 0;
boolean lockScroll = false;
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomViewPager(Context context) {
super(context);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
lastX = ev.getX();
lockScroll = false;
return super.onTouchEvent(ev);
case MotionEvent.ACTION_MOVE:
if (lastX > ev.getX()) {
lockScroll = false;
} else {
lockScroll = true;
}
lastX = ev.getX();
break;
}
lastX = ev.getX();
if(lockScroll) {
return false;
} else {
return super.onTouchEvent(ev);
}
}
}