mirror of
https://github.com/FossifyOrg/Gallery.git
synced 2025-03-12 14:40:08 +01:00
Double tap zoom
This commit is contained in:
parent
a948355d2e
commit
85e8838980
1 changed files with 10 additions and 0 deletions
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue