仅在向上滚动时在折叠工具栏布局中启用快速滚动

问题描述 投票:0回答:0

仅当滚动方向向上时,我才尝试在应用栏布局中的折叠工具栏中启用快速滚动。就像向上滚动 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
            }
            
        })
android kotlin android-collapsingtoolbarlayout android-appbarlayout
© www.soinside.com 2019 - 2024. All rights reserved.