Invert tapping for Webtoon and Vertical
This commit is contained in:
parent
7f88b56d8b
commit
0ea0eba4f0
3 changed files with 14 additions and 5 deletions
|
@ -32,7 +32,7 @@ abstract class ViewerConfig(preferences: PreferencesHelper) {
|
|||
.register({ tappingEnabled = it })
|
||||
|
||||
preferences.readWithTappingInverted()
|
||||
.register({ tappingInverted = it })
|
||||
.register({ tappingInverted = it })
|
||||
|
||||
preferences.readWithLongTap()
|
||||
.register({ longTapEnabled = it })
|
||||
|
|
|
@ -81,17 +81,22 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer {
|
|||
})
|
||||
pager.tapListener = { event ->
|
||||
val tappingInverted = config.tappingInverted
|
||||
|
||||
if (this is VerticalPagerViewer) {
|
||||
val positionY = event.y
|
||||
val topSideTap = positionY < pager.height * 0.33f && config.tappingEnabled
|
||||
val bottomSideTap = positionY > pager.height * 0.66f && config.tappingEnabled
|
||||
|
||||
when {
|
||||
positionY < pager.height * 0.33f && config.tappingEnabled -> moveLeft()
|
||||
positionY > pager.height * 0.66f && config.tappingEnabled -> moveRight()
|
||||
topSideTap && !tappingInverted || bottomSideTap && tappingInverted -> moveLeft()
|
||||
bottomSideTap && !tappingInverted || topSideTap && tappingInverted -> moveRight()
|
||||
else -> activity.toggleMenu()
|
||||
}
|
||||
} else {
|
||||
val positionX = event.x
|
||||
val leftSideTap = positionX < pager.width * 0.33f && config.tappingEnabled
|
||||
val rightSideTap = positionX > pager.width * 0.66f && config.tappingEnabled
|
||||
|
||||
when {
|
||||
leftSideTap && !tappingInverted || rightSideTap && tappingInverted -> moveLeft()
|
||||
rightSideTap && !tappingInverted || leftSideTap && tappingInverted -> moveRight()
|
||||
|
|
|
@ -94,9 +94,13 @@ class WebtoonViewer(val activity: ReaderActivity, val isContinuous: Boolean = tr
|
|||
})
|
||||
recycler.tapListener = { event ->
|
||||
val positionY = event.rawY
|
||||
val tappingInverted = config.tappingInverted
|
||||
val topSideTap = positionY < recycler.height * 0.33f && config.tappingEnabled
|
||||
val bottomSideTap = positionY > recycler.height * 0.66f && config.tappingEnabled
|
||||
|
||||
when {
|
||||
positionY < recycler.height * 0.33f && config.tappingEnabled -> scrollUp()
|
||||
positionY > recycler.height * 0.66f && config.tappingEnabled -> scrollDown()
|
||||
topSideTap && !tappingInverted || bottomSideTap && tappingInverted -> scrollUp()
|
||||
bottomSideTap && !tappingInverted || topSideTap && tappingInverted -> scrollDown()
|
||||
else -> activity.toggleMenu()
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue