PhotoViewPager.java 1012 B

1234567891011121314151617181920212223242526272829303132
  1. package com.zy.bvvm.widget;
  2. import android.content.Context;
  3. import android.util.AttributeSet;
  4. import android.view.MotionEvent;
  5. import androidx.viewpager.widget.ViewPager;
  6. /**
  7. * desc : ViewPager 中使用 PhotoView 时出现 pointerIndex out of range 异常
  8. */
  9. public final class PhotoViewPager extends ViewPager {
  10. public PhotoViewPager(Context context) {
  11. super(context);
  12. }
  13. public PhotoViewPager(Context context, AttributeSet attrs) {
  14. super(context, attrs);
  15. }
  16. @Override
  17. public boolean onInterceptTouchEvent(MotionEvent ev) {
  18. // 当PhotoView 和 ViewPager 组合时 ,用双指进行放大时 是没有问题的,但是用双指进行缩小的时候,程序就会崩掉
  19. // 并且抛出java.lang.IllegalArgumentException: pointerIndex out of range
  20. try {
  21. return super.onInterceptTouchEvent(ev);
  22. } catch (IllegalArgumentException | ArrayIndexOutOfBoundsException ignored) {
  23. return false;
  24. }
  25. }
  26. }