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
        }
    })
但它是滞后的,没有很好的表现。 你能建议一个更好的方法吗