Double tap zoom

This commit is contained in:
RaJansuMan 2025-03-03 20:30:47 +05:30
parent a948355d2e
commit 85e8838980

View file

@ -89,6 +89,7 @@ class PhotoFragment : ViewPagerFragment() {
private var mScreenWidth = 0 private var mScreenWidth = 0
private var mScreenHeight = 0 private var mScreenHeight = 0
private var mCurrentGestureViewZoom = 1f private var mCurrentGestureViewZoom = 1f
private var mIsTouched = false
private var mStoredShowExtendedDetails = false private var mStoredShowExtendedDetails = false
private var mStoredHideExtendedDetails = false private var mStoredHideExtendedDetails = false
@ -145,11 +146,20 @@ class PhotoFragment : ViewPagerFragment() {
gesturesView.controller.addOnStateChangeListener(object : GestureController.OnStateChangeListener { gesturesView.controller.addOnStateChangeListener(object : GestureController.OnStateChangeListener {
override fun onStateChanged(state: State) { override fun onStateChanged(state: State) {
if (!mIsTouched) {
gesturesView.controller.settings.apply {
if (hasImageSize() && hasViewportSize()) {
doubleTapZoom = (viewportWidth.toFloat() / imageWidth).coerceAtLeast(viewportHeight.toFloat() / imageHeight)
}
}
}
mCurrentGestureViewZoom = state.zoom mCurrentGestureViewZoom = state.zoom
} }
}) })
gesturesView.setOnTouchListener { v, event -> gesturesView.setOnTouchListener { v, event ->
mIsTouched = true
if (mCurrentGestureViewZoom == 1f) { if (mCurrentGestureViewZoom == 1f) {
handleEvent(event) handleEvent(event)
} }