app:contentScrim="?attr/colorPrimary"?
屬性的效果:
首先看一下未加入app:contentScrim屬性的效果
可以看見(jiàn)把圖片的當(dāng)作toolbar來(lái)展示
在看一下加入屬性的效果:
當(dāng)上拉toolbar的位置時(shí)荤堪,顯示的是系統(tǒng)自定義的toolBar
android:fitsSystemWindows 屬性
一個(gè)boolean值的內(nèi)部屬性昼接,讓view可以根據(jù)系統(tǒng)窗口(如status bar)來(lái)調(diào)整自己的布局,如果值為true,就會(huì)調(diào)整view的padding屬性來(lái)給system windows留出空間饶碘。用于沉浸式狀態(tài)欄!
就是圖1的效果
app:expandedTitleMarginStart="48dp"屬性
在展開(kāi)的標(biāo)題文本的起始端指定額外的空間
簡(jiǎn)單的說(shuō):
就是圖1中龍都大朝距離屏幕左邊的距離
與之對(duì)應(yīng)的是app:expandedTitleMarginEnd="64dp"
距離右邊屏幕的距離
app:layout_scrollFlags 屬性
必須是一個(gè)或者多個(gè)值 用 | 分開(kāi)
layout_scrollFalgs屬性有5個(gè)值
1. enterAlways 值4?
2.enterAlwaysCollapsed 值8
3. exitUntilCollapsed 值2
4. scroll 值 1?
5. snap 值10?
?scroll屬性
所有想滾動(dòng)出屏幕的view 都必須設(shè)置這個(gè)flag还绘,如果不設(shè)置這個(gè)flag view會(huì)被固定在屏幕頂部拉庵。
可以看出數(shù)據(jù)滑動(dòng)到第一條繼續(xù)向下滑動(dòng)辉巡,toolbar才會(huì)跟著滑出來(lái)
scroll | enterAlways
和scroll相比較殊者,區(qū)別在與那個(gè)view現(xiàn)滑動(dòng),scroll首先滑動(dòng)的是列表验夯,列表的數(shù)據(jù)全部滾動(dòng)完畢猖吴,才開(kāi)始toolbar滑動(dòng)。而scroll | enterAlways首先滑動(dòng)的是toolbar (應(yīng)該是調(diào)用這個(gè)屬性的View挥转,這里是在AppToolBar中添加的屬性 就叫他toolbar)海蔽,然后再去滑動(dòng)其他的view。只是優(yōu)先級(jí)先后的問(wèn)題绑谣。
scroll | enterAlways|enterAlwaysCollapsed
先上圖
enterAlwaysCollapsed是enterAlways的附加標(biāo)志,向上滾動(dòng)時(shí)党窜,首先會(huì)滾動(dòng)到最小高度,然后在繼續(xù)向上滾動(dòng)借宵,滾動(dòng)到Recycler的第一條數(shù)據(jù)就會(huì)全部展示出來(lái)幌衣。最小高度minHeignt
exitUntilCollapsed
直接上圖
類(lèi)似于app:layout_scrollFlags = scroll | enterAlways|enterAlwaysCollapsed
不同的是在滑動(dòng)過(guò)程中,最小高度的view一直存在壤玫,Recycler滾到第一條數(shù)據(jù) 繼續(xù)向上滑動(dòng)才會(huì)顯示全部豁护。
app:layout_scrollFlags="scroll|snap"
滑動(dòng)的時(shí)候松手,要么全部滾出屏幕欲间,要么全部滾進(jìn)屏幕楚里。
最后貼上 xml布局
````
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".activity.ListCartoonDetailActivity">
android:id="@+id/list_detail_app_bar"
android:layout_width="match_parent"
android:layout_height="@dimen/appbar_height"
android:fitsSystemWindows="true"
android:theme="@style/AppTheme.AppBarOverlay">
android:id="@+id/collapsing_toolbar_layout"
android:layout_width="match_parent"
android:fitsSystemWindows="true"
android:layout_height="match_parent"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
android:id="@+id/iv_list_detail"
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@mipmap/picccccccc"/>
android:id="@+id/list_detail_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin">
android:id="@+id/list_detail_float"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:src="@mipmap/ic_github"
app:layout_anchor="@id/list_detail_app_bar"
app:layout_anchorGravity="end|right|bottom"
app:rippleColor="@color/material_lime_a700"/>
android:id="@+id/list_detail_swipe"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
android:id="@+id/list_detail_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="8dp"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:paddingTop="16dp">
````