Android 如何通过向下滚动来增加碎片的高度?
我想在一个活动上显示地图片段,用户可以通过向下滚动来展开它。 像这样: 我将片段容器放入Android 如何通过向下滚动来增加碎片的高度?,android,material-design,android-coordinatorlayout,android-collapsingtoolbarlayout,Android,Material Design,Android Coordinatorlayout,Android Collapsingtoolbarlayout,我想在一个活动上显示地图片段,用户可以通过向下滚动来展开它。 像这样: 我将片段容器放入collasingToolbarLayout中进行折叠,并在CoordinatorLayout向下滚动以展开片段时增加appBarLayout的高度 coordinatorLayout.setOnTouchListener(object : View.OnTouchListener { override fun onTouch(v: View?, event: MotionEvent?):
collasingToolbarLayout
中进行折叠,并在CoordinatorLayout
向下滚动以展开片段时增加appBarLayout
的高度
coordinatorLayout.setOnTouchListener(object : View.OnTouchListener {
override fun onTouch(v: View?, event: MotionEvent?): Boolean {
when (event?.action) {
MotionEvent.ACTION_DOWN -> {
downY = event.y
lastY = downY
return true
}
MotionEvent.ACTION_MOVE -> {
if (lastY == 0f) {
lastY = event.y
return true
}
val deltaY = event.y - lastY
lastY = event.y
val param = appBarLayout.layoutParams
if (deltaY > 0 || param.height > mapMinHeight) {
param.height += deltaY.roundToInt()
appBarLayout.layoutParams = param
}
return true
}
MotionEvent.ACTION_UP -> {
lastY = 0f
expandCollapseMap()
return true
}
}
return false
}
})
但它是滞后的,没有很好的表现。
你能建议一个更好的方法吗