diff options
author | Allan Wang <me@allanwang.ca> | 2017-07-05 12:51:21 -0700 |
---|---|---|
committer | Allan Wang <me@allanwang.ca> | 2017-07-05 12:51:21 -0700 |
commit | 10e2ee9d4f105d9737b98b1caacf5e6ccb1c3c7d (patch) | |
tree | 81f2976a43b65a28c428b1ae60a62888e573a756 /core/src/main/kotlin/ca/allanwang/kau/swipe/RelativeSlider.kt | |
parent | 4e254b4b983b8531193c02852d2866a876d8cfcf (diff) | |
download | kau-10e2ee9d4f105d9737b98b1caacf5e6ccb1c3c7d.tar.gz kau-10e2ee9d4f105d9737b98b1caacf5e6ccb1c3c7d.tar.bz2 kau-10e2ee9d4f105d9737b98b1caacf5e6ccb1c3c7d.zip |
Remap color dark and fix up swipe
Diffstat (limited to 'core/src/main/kotlin/ca/allanwang/kau/swipe/RelativeSlider.kt')
-rw-r--r-- | core/src/main/kotlin/ca/allanwang/kau/swipe/RelativeSlider.kt | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/core/src/main/kotlin/ca/allanwang/kau/swipe/RelativeSlider.kt b/core/src/main/kotlin/ca/allanwang/kau/swipe/RelativeSlider.kt new file mode 100644 index 0000000..ee86ff2 --- /dev/null +++ b/core/src/main/kotlin/ca/allanwang/kau/swipe/RelativeSlider.kt @@ -0,0 +1,36 @@ +package ca.allanwang.kau.swipe + +import ca.allanwang.kau.kotlin.nonReadable + +/** + * Created by Mr.Jude on 2015/8/26. + */ +class RelativeSlider(var curPage: SwipeBackPage) : SwipeListener { + + var offset = 0f + + var enabled: Boolean + @Deprecated(level = DeprecationLevel.ERROR, message = "Cannot use enabled as getter") + get() = nonReadable() + set(value) { + if (value) curPage.addListener(this) + else curPage.removeListener(this) + } + + override fun onScroll(percent: Float, px: Int) { + if (offset == 0f) return //relative slider is not enabled + val page = SwipeBackHelper.getPrePage(curPage) ?: return + page.swipeBackLayout.x = Math.min(-offset * Math.max(1 - percent, 0f) + DEFAULT_OFFSET, 0f) + if (percent == 0f) page.swipeBackLayout.x = 0f + } + + override fun onEdgeTouch() {} + + override fun onScrollToClose() { + SwipeBackHelper.getPrePage(curPage)?.swipeBackLayout?.x = 0f + } + + companion object { + private const val DEFAULT_OFFSET = 40 + } +} |