This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class OverlappingPanelsLayout: FrameLayout { | |
private lateinit var startPanel: View | |
private lateinit var centerPanel: View | |
private lateinit var endPanel: View | |
private var pendingUpdate: (() -> Unit)? = null | |
... | |
private fun openStartPanel() { | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class PanelsChildGestureRegionObserver : View.OnLayoutChangeListener { | |
... | |
override fun onLayoutChange( | |
view: View?, | |
left: Int, | |
top: Int, | |
right: Int, | |
bottom: Int, | |
oldLeft: Int, | |
oldTop: Int, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class OverlappingPanelsLayout : FrameLayout { | |
private var scrollingSlopPx: Float = 0f | |
private var velocityTracker: VelocityTracker? = null | |
private var isScrollingHorizontally = false | |
private var xFromInterceptActionDown: Float = 0f | |
private var yFromInterceptActionDown: Float = 0f | |
... // initialize scrollingSlopPx and VelocityTracker |