Я использую ImageMatrixTouchHandler для обработки увеличения и нажатия изображения.
Вариант использования ( изображение в полноэкранном режиме)
проблема
- Изображение нажата
- Повернуть экран
- Изображение отображается в неправильной позиции
без проблем
- без нажатия на изображение
- Поворот экрана
- Рендеринг изображений в порядке
Вот как это выглядит в первом случае использования (Портрет -> Пейзаж)
Как вы можете видетьизображение идет влево.
И это код для обработки этого увеличения и щелчка.Масштабирование работает.
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))