项目场景:
项目场景:项目要做上滑遮挡顶部banner布局
问题描述:
使用CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout进行开发,整体开发完项目整个正常,但是当底部NestedScrollView布局内容少,未充满全屏时,此时应该整个页面无法滑动,但是最后发现手指放在NestedScrollView 位置时,确实不能滑动,可是此时手指放在AppBarLayout布局中,发现可向上滑动,隐藏了整个布局内部banner, 然后整个页面滑动不了
原因分析:
当时以为此控件就如此,结果用其他app(比如bilibili)发现可折叠部分不能滑动,网上找了好久,才找到下边方法,当 页面加载成功后,移除AppBarLayout的滑动回调。 主要是百度关键字不好找,在此记录下。
解决方案:
AppBarLayout.post {
val behavior = (app_bar.getLayoutParams() as (CoordinatorLayout.LayoutParams)).behavior as AppBarLayout.Behavior?
behavior!!.setDragCallback(object : DragCallback() {
override fun canDrag(appBarLayout: AppBarLayout): Boolean {
return false
}
})
}