The online monitoring of the rewriting ScrollView slides is used to hide and display a certain control. The sliding of this method is not very smooth, so I decided to use the latest Material Design to achieve this effect. Not much nonsense, directly apply the code:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/white">
<!-Part 1: CoordinatorLayout->
<android.support.design.widget.CoordinatorLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/scrollview"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="#ffffff">
<!-Second part: Actsa control->
<android.support.design.widget.AppBarLayout
android:id="@+id/id_appbarlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_tool_bar_test_ctl"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.bigkoo.convenientbanner.ConvenientBanner
android:id="@+id/convenient_banner"
android:layout_width="match_parent"
android:layout_height="400px"
app:canLoop="true" />
<maibai.maibai.com.maibai.util.view.MyGridView
android:id="@+id/grid_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="4"
android:layout_marginTop="20px"
android:verticalSpacing="20px"
android:listSelector="@color/white"/>
<TextView
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#eee"
android:layout_marginTop="20px"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="400px"
android:background="#eee"></LinearLayout>
</LinearLayout>
</android.support.design.widget.CollapsingToolbarLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50px"
android:background="#ff66bb"
android:orientation="horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Suspension part"/>
</LinearLayout>
</android.support.design.widget.AppBarLayout>
<!-3 part: Your Scroll View->
<android.support.v4.widget.NestedScrollView
android:id="@+id/myMainScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="always"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<maibai.maibai.com.maibai.util.view.MyListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:listSelector="@color/white"
android:divider="@color/white"/>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
</LinearLayout>
Here is the layout file. The outermost layer is CoordinatorLayout, and then the control of the control when sliding should be hidden in the collapsingToolBarlayout. In the NestedScrollView, there is a sliding control that can be slide after the top, and then the effect can be achieved, which is so simple.
Need to pay attention to a few points:
1.CollapsingToolBarlayout must set the app: layout_scrollflags = “scroll” to slide.
2.NESTEDScrollView must set the attribute of the App: layout_Behavior, and they will link.
3. IncrollView innestedScrollView should rewrite the onMEASUSUSURES method of ListView (a lot of online) when nesting such as listView.