Prevent CollapsingToolbarLayout collapse if not needed

前端 未结 6 1925
情歌与酒
情歌与酒 2020-12-05 02:30

Using:

compile \'com.android.support:design:23.0.0\'
compile \'com.android.support:appcompat-v7:23.0.0\'
compile \'com.android.support:cardview-v7:23.0.0\'
c         


        
6条回答
  •  再見小時候
    2020-12-05 03:13

    A data-binding solution inspired by @Vishal's answer

        
            
        
    
        @BindingAdapter("app:enableCollapsingScroll")
        fun setCollapsingToolbarLayoutScrollEnabled(collapsingToolbarLayout: CollapsingToolbarLayout, enabled: Boolean?) {
            val lp = collapsingToolbarLayout.layoutParams as AppBarLayout.LayoutParams
            if (enabled.orFalse()) {
                lp.scrollFlags = AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL or AppBarLayout.LayoutParams.SCROLL_FLAG_EXIT_UNTIL_COLLAPSED
            } else {
                lp.scrollFlags = AppBarLayout.LayoutParams.SCROLL_FLAG_SNAP
            }
            collapsingToolbarLayout.layoutParams = lp
        }
    

提交回复
热议问题