仅当滚动方向向上时,我才尝试在应用栏布局中的折叠工具栏中启用快速滚动。就像向上滚动 50% 的应用栏内容应该展开或折叠工具栏。向下滚动不应在折叠工具栏布局中启用对齐行为,而应表现得像正常滚动一样。
下面是我到目前为止尝试过的代码,
appBarLayout.addOnOffsetChangedListener(AppBarLayout.OnOffsetChangedListener { appBarLayout, verticalOffset ->
val viewHeight = abs(appBarLayout.totalScrollRange) - abs(verticalOffset)
val viewingPercentage =
viewHeight.toFloat() / abs(appBarLayout.totalScrollRange).toFloat()
if(isToolBarHalfScrolled && viewingPercentage >= .5f){
isToolBarHalfScrolled = false
val params: AppBarLayout.LayoutParams =
collapsing_toolbar.layoutParams as AppBarLayout.LayoutParams
params.scrollFlags = SCROLL_FLAG_SNAP or SCROLL_FLAG_SCROLL
collapsing_toolbar.layoutParams = params
} else if(!isToolBarHalfScrolled && viewingPercentage < .5f){
isToolBarHalfScrolled = true
val params: AppBarLayout.LayoutParams =
collapsing_toolbar.layoutParams as AppBarLayout.LayoutParams
params.scrollFlags = SCROLL_FLAG_SCROLL
collapsing_toolbar.layoutParams = params
}
})