我已经在myCollapsingToolbarLayout中删除了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>
解决方法
尝试从片段中删除“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);