Проблема поворота ImageMatrixTouchHandler после нажатия на изображение - PullRequest
0 голосов
/ 23 сентября 2019

Я использую ImageMatrixTouchHandler для обработки увеличения и нажатия изображения.

Вариант использования ( изображение в полноэкранном режиме)

  • проблема

    1. Изображение нажата
    2. Повернуть экран
    3. Изображение отображается в неправильной позиции
  • без проблем

    1. без нажатия на изображение
    2. Поворот экрана
    3. Рендеринг изображений в порядке

Вот как это выглядит в первом случае использования (Портрет -> Пейзаж)

Как вы можете видетьизображение идет влево.

enter image description here

И это код для обработки этого увеличения и щелчка.Масштабирование работает.

public class ChatImageClickCallback extends ImageMatrixTouchHandler {
    private OnClickListener mOnClickListener;
    private GestureDetector mGestureDetector;

    public ChatImageClickCallback(Context context, OnClickListener onClickListener) {
        super(context);
        mOnClickListener = onClickListener;
        ViewGesture viewGesture = new ViewGesture();
        mGestureDetector = new GestureDetector(context, viewGesture);
        mGestureDetector.setOnDoubleTapListener(viewGesture);
    }

    @SuppressLint("ClickableViewAccessibility")
    @Override
    public boolean onTouch(View view, MotionEvent event) {
        mGestureDetector.onTouchEvent(event);
        return super.onTouch(view, event);
    }

    private class ViewGesture extends GestureDetector.SimpleOnGestureListener {

        @Override
        public boolean onDoubleTap(MotionEvent e) {
            if (mOnClickListener != null) {
                mOnClickListener.onClick();
            }
            return super.onDoubleTap(e);
        }

        @Override
        public boolean onSingleTapConfirmed(MotionEvent e) {
            if (mOnClickListener != null) {
                mOnClickListener.onClick();
            }
            return super.onSingleTapConfirmed(e);
        }
    }
}

Затем я настраиваю слушателя на просмотр изображения

imageView.setOnTouchListener(new ChatImageClickCallback(mContext, mOnClickListener))
...