Android中AppBarLayout使用時的懸浮部分的滑動問題

AppBarLayout中的懸浮部分我使用了MagicIndicator,我們的測試在實際的使用中發(fā)現,MagicIndicator置頂之后再滑動Fragment中的RecyclerView時,在RecyclerView還在向上慣性滑動的時候向下滑動MagicIndicator,這時MagicIndicator也可以滑動,從而導致MagicIndicator和RecyclerView會對向滑動;
我們的需求是MagicIndicator吸頂之后,RecyclerView在滑動過程中MagicIndicator不能滑動

針對這個問題,我使用了AppBarLayout的setDragCallback()方法來解決:
通過對Fragment中RecyclerView的滑動距離進行監(jiān)聽,當滑動距離<=0的時候,表明MagicIndicator已經吸頂了,這時候就禁止掉AppBarLayout的滑動;反之則開啟AppBarLayout的滑動

  val params = binding.appbarlayout.layoutParams as CoordinatorLayout.LayoutParams
        val behavior = params.behavior as? AppBarLayout.Behavior
        behavior?.setDragCallback(object : AppBarLayout.Behavior.DragCallback() {
            override fun canDrag(@NonNull appBarLayout: AppBarLayout): Boolean {
                return onlyRvCommentScrollY <= 0 //如果底部列表有滑動距離,就不讓tab欄進行滑動
            }
        })
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容