如何以编程方式删除我的NestedScrollView的布局行为?

7
我已经成功移除了我的CollapsingToolbarLayout中的layout_scrollFlags,但是我需要移除NestedScrollView中的layout_behavior,以便当嵌套滚动视图中没有内容时,工具栏的折叠也会被禁用。移除我的NestedScrollView的layout_behavior非常容易,只需从您的xml中直接删除代码行即可,但是如何在程序中实现它呢?

我的xml:

<android.support.design.widget.CoordinatorLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"

            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <android.support.design.widget.AppBarLayout
                android:id="@+id/appbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fitsSystemWindows="true"
                android:background="@android:color/white">

                <android.support.design.widget.CollapsingToolbarLayout
                    android:id="@+id/collapsing_toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:fitsSystemWindows="true"
                    app:contentScrim="?attr/colorPrimary"
                    app:layout_scrollFlags="scroll|exitUntilCollapsed">

                    <fragment
                        android:id="@+id/pawfile_header"
                        android:name="com.lightbulb.pawesome.fragments.PawfileHeaderFragment"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="10dp"
                        android:layout_marginTop="10dp"
                        android:fitsSystemWindows="true"
                        app:layout_collapseMode="parallax" />

                </android.support.design.widget.CollapsingToolbarLayout>

            </android.support.design.widget.AppBarLayout>

            <fragment
                android:id="@+id/pawfile_timeline"
                android:name="com.lightbulb.pawesome.user_timeline.PawesomeUserTimelineFragment"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:layout_behavior="@string/appbar_scrolling_view_behavior" />

        </android.support.design.widget.CoordinatorLayout>

你可以使用布局可见性GONE。 - android_softy
很抱歉,但可折叠工具栏中有一个子元素。因此,如果我将其可见性设置为gone,那么折叠工具栏中的视图也会消失。 - Earwin delos Santos
@android_softy请查看我的更新问题。 - Earwin delos Santos
@android_softy请查看我的更新问题,我之前提出了错误的问题。 - Earwin delos Santos
1个回答

13
尝试从片段中删除 "appbar_scrolling_view_behavior",并从 CollapsingToolbarLayout 清除滚动标志。
CoordinatorLayout.LayoutParams coordinatorLayoutParams = (CoordinatorLayout.LayoutParams) pawfileTimeline.getLayoutParams();
coordinatorLayoutParams.setBehavior(null);

AppBarLayout.LayoutParams toolbarLayoutParams = (AppBarLayout.LayoutParams) toolbar.getLayoutParams();
toolbarLayoutParams.setScrollFlags(0);

将滚动标志设置为0是对我有效的。移除CoordinatorLayout行为会使我的工具栏消失。 - Julian Honma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接