android - 如何通过向下滚动来增加片段的高度?
问题描述
我想在用户可以通过向下滚动来扩展它的活动上显示地图片段。像这样:
我将片段容器放入以折叠它,并在向下滚动以展开片段时CollapsingToolbarLayout
增加高度。appBarLayout
CoordinatorLayout
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
}
})
但它滞后并且性能不佳。你能建议一个更好的方法吗?
解决方案
推荐阅读
- pygame - 如何在 pygame 显示中加载 python 维基百科图像?
- c# - C# - 带有 OnClick + href 的链接按钮?
- c# - 拆分单行会导致更多开销吗?
- android - Google Drive REST API:java.lang.IllegalArgumentException:名称不能为空:null
- python - OpenCV-python获取两点(线)之间的像素集
- python - Django TypeError: validate_location() 缺少 2 个必需的位置参数:'location' 和 'parcare_on'
- angularjs - Angularjs HTTP 拦截器异常
- c# - C# LibTiff.Net - MultiTIFF 更改标签值
- node.js - Node.js Express API:如何处理多个回调
- php - Ajax multipart/form-data 方法给出错误