单击图像后,ImageMatrixTouchHandler旋转问题

时间:2019-09-23 03:42:10

标签: android image orientation

我正在使用 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))

0 个答案:

没有答案