Android中CoordinatorLayout如何禁止AppBarLayout滑动

首先,查看页面布局

    <androidx.coordinatorlayout.widget.CoordinatorLayout
        android:id="@+id/layoutCoordinator"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="76dp"
        android:layout_marginBottom="6dp"
        app:layout_constraintBottom_toTopOf="@id/tvNext"
        app:layout_constraintTop_toTopOf="parent">

        <com.google.android.material.appbar.AppBarLayout
            android:id="@+id/appBarLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/transparent"
            app:elevation="0dp"
            app:layout_behavior="com.fz.lib.ui.view.FlingBehavior">

            <com.google.android.material.appbar.CollapsingToolbarLayout
                android:id="@+id/collapsing_toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:layout_scrollFlags="scroll|exitUntilCollapsed"
                app:titleEnabled="false">
... (省略)

分析,控制滑动的代码为

app:layout_scrollFlags="scroll|exitUntilCollapsed"

第一步
只要修改

app:layout_scrollFlags="noScroll"

但是这么改,很不灵活。所以需要在代码中进行改动。
第二步

        if (禁止滑动) {
            AppBarLayout.LayoutParams layoutParams = (AppBarLayout.LayoutParams) mBinding.collapsingToolbar.getLayoutParams();
            layoutParams.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_NO_SCROLL);
            mBinding.collapsingToolbar.setLayoutParams(layoutParams);
        } else {
            AppBarLayout.LayoutParams layoutParams = (AppBarLayout.LayoutParams) mBinding.collapsingToolbar.getLayoutParams();
            layoutParams.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL | AppBarLayout.LayoutParams.SCROLL_FLAG_EXIT_UNTIL_COLLAPSED);
            mBinding.collapsingToolbar.setLayoutParams(layoutParams);
        }

大功告成

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容