У меня есть макет, который я могу перетащить «вверх и вниз», чтобы уменьшить размер макета.
Это работает, но как я могу ограничить положение моего макета? Потому что на данный момент вид, который я перетаскиваю, может быть размещен за пределами экрана (пользователь не может перетащить его ...)
Вот мой код:
override fun onTouch(view : View?, event: MotionEvent?): Boolean {
val Y : Float? = event?.rawY
when (event?.action?.and(MotionEvent.ACTION_MASK)) {
MotionEvent.ACTION_DOWN -> {
val lParams = view?.layoutParams as RelativeLayout.LayoutParams
_yDelta = (Y?.minus(lParams.bottomMargin))!!.toInt()
}
MotionEvent.ACTION_UP -> {
}
MotionEvent.ACTION_POINTER_DOWN -> {
}
MotionEvent.ACTION_POINTER_UP -> {
}
MotionEvent.ACTION_MOVE -> {
val layoutParams = view?.layoutParams as RelativeLayout.LayoutParams
layoutParams.bottomMargin = (Y?.minus(_yDelta))!!.toInt()
layoutParams.topMargin = -layoutParams.bottomMargin
view.layoutParams = layoutParams
view.animate().translationY(Y.toFloat() - _yDelta).duration = 0
}
}
root.invalidate()
return true
}