CoordinatorLayout? >> AppBarLayout >> CollapsingToolbarLayout(內部可隨意包裹控件)
每個需要響應滾動的View都需要在XML中設置app:layout_scrollFlag
layout_scrollFlags=scroll的時候,這個View會 跟著 滾動 事件響應,
layout_scrollFlags=“enterAlways”的時候 這個View會響應下拉事件
所以呈現出來的結果應該是我們在上拉的時候toolBar 會隱藏,下拉的時候toolBar會出來
那如果當我們的toolBar 等于 app:layout_scrollFlags=”scroll|snap”的時候 ,
layout_scrollFlags=scroll的時候,這個View會 跟著 滾動 事件響應,
layout_scrollFlags=“snap”的時候 在Scroll滑動事件結束以前 ,如果這個View部分可見,那么這個View會停在最接近當前View的位置。
AppBarLayout內如果有不需要隱藏的只需不設置app:layout_scrollFlag,在滑動到頂部的時候此類控件會在頂部顯示
如果需要頂部圖片有淡入淡出動畫需要使用CollapsingToolbarLayout 內部包裹ImageView和TollBar ImageVIew需要設置app:layout_collapseMode="parallax",代表有動畫效果。ToolBar內部如果設置app:layout_collapseMode="pin"代表如果圖片隱藏了ToolBar的TItle在頂部顯示。
CoordinatorLayout下面跟能滾動的控件(ListView,RecyclerView等),下面的控件無法準確在CoordinatorLayout的下面,需要加:app:layout_behavior="android.support.design.widget.AppBarLayout$ScrollingViewBehavior">
在CollapsingToolbarLayout里面設置app:contentScrim="?attr/colorPrimary"屬性代表如果圖片動畫過后是否消失
需要的庫:
compile'com.flyco.tablayout:FlycoTabLayout_Lib:2.1.2@aar'
compile'com.android.support:design:25.3.1'
compile'com.android.support.constraint:constraint-layout:1.0.2'
compile"org.jetbrains.anko:anko-common:$anko_version"