Android 協(xié)調(diào)布局

test.gif

依賴

implementation "androidx.coordinatorlayout:coordinatorlayout:1.1.0" //協(xié)調(diào)布局
//最外層使用 CoordinatorLayout 
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    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"
    tools:context=".MainActivity3">

        <com.google.android.material.appbar.AppBarLayout   //頭部部分需要使用 AppBarLayout   容器
            android:id="@+id/appbar"
            android:background="@color/white"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            
            <com.google.android.material.appbar.CollapsingToolbarLayout    //折疊 Toolbar 控件
                android:id="@+id/main.collapsing"
                android:layout_width="match_parent"
                android:layout_height="250dp"
                app:collapsedTitleGravity="left"   //titlebar 對(duì)齊方式
                app:contentScrim="#ECB2B2"   //titlebar 背景顏色
                app:expandedTitleMarginStart="60dp"   //展開的時(shí)候title的位置
                app:expandedTitleMarginBottom="60dp"
                app:title="tttt"    //title
                app:layout_scrollFlags="scroll|exitUntilCollapsed"   //詳見下面
            >  

                <ImageView
                    android:id="@+id/main.backdrop"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:fitsSystemWindows="true"
                    android:scaleType="centerCrop"
                    android:src="@mipmap/icon"
                    app:layout_collapseMode="parallax"   //詳見下面
                    />

                <androidx.appcompat.widget.Toolbar
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize"
                    app:layout_collapseMode="pin"
                    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                    />


            </com.google.android.material.appbar.CollapsingToolbarLayout>

        </com.google.android.material.appbar.AppBarLayout>
    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/rec"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"    //設(shè)置在appbar的下面
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </androidx.recyclerview.widget.RecyclerView>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        app:layout_anchor="@id/appbar"   //設(shè)置錨點(diǎn)
        android:layout_margin="10dp"
        android:backgroundTint="#D10F0F"  
        android:src="@mipmap/ic_launcher"
        app:layout_anchorGravity="right|bottom|end"   //根據(jù)錨點(diǎn)定位位置
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</androidx.coordinatorlayout.widget.CoordinatorLayout>

layout_scrollFlags 屬性

1圣絮、scroll:影響向下滾動(dòng)(默認(rèn)不設(shè)置的值)
Child View 伴隨著滾動(dòng)事件而滾出或滾進(jìn)屏幕关贵。
注意兩點(diǎn):
第一點(diǎn)扯饶,如果使用了其他值喳魏,必定要使用這個(gè)值才能起作用棉浸;
第二點(diǎn):如果在這個(gè)child View前面的任何其他Child View沒有設(shè)置這個(gè)值,那么這個(gè)Child View的設(shè)置將失去作用
發(fā)生向下滾動(dòng)是刺彩,優(yōu)先滾動(dòng)Scrolling View迷郑,當(dāng)優(yōu)先滾動(dòng)的一方已經(jīng)全部滾進(jìn)屏幕之后,另一方才開始滾動(dòng)

2创倔、enterAlways : 影響向下滾動(dòng)
對(duì)比scroll和scroll | enterAlways設(shè)置嗡害,發(fā)生向下滾動(dòng)事件時(shí),前者優(yōu)先滾動(dòng)Scrolling View畦攘,后者優(yōu)先滾動(dòng)Child View霸妹,
效果:當(dāng)優(yōu)先滾動(dòng)的一方已經(jīng)全部滾進(jìn)屏幕之后,另一方才開始滾動(dòng)

3知押、enterAlwaysCollapsed:影響向下滾動(dòng)
一般:scroll|enterAlways|enterAlwaysCollapsed
child View需設(shè)定最小值叹螟,即minHeight。
效果:向下滾動(dòng)時(shí)台盯,Child View先向下滾動(dòng)最小高度值罢绽,然后Scrolling View開始滾動(dòng),到達(dá)邊界時(shí)爷恳,Child View再向下滾動(dòng)有缆,直至顯示完全

4、exitUntilCollapsed:影響向上滾動(dòng)
這里也有最小高度温亲,即有沒有設(shè)置minHeight棚壁,一般不設(shè)置
效果:發(fā)生向上滾動(dòng)時(shí),Child View向上滾動(dòng)退出直到最小高度栈虚,然后Scrolling View開始滾動(dòng)袖外。一般minHeight不設(shè)置,所以它就會(huì)完全滾出屏幕

5魂务、snap
Child View滾動(dòng)比例的一個(gè)吸附效果曼验。也就是說,
效果:Child View不會(huì)存在局部顯示的情況粘姜,滾動(dòng)Child View的部分高度鬓照,當(dāng)我們松開手指時(shí),Child View要么向上全部滾出屏幕孤紧,要么向下全部滾進(jìn)屏幕豺裆,有點(diǎn)類似ViewPager的左右滑動(dòng)

layout_collapseMode 屬性

1.parallax:視差模式,在折疊的時(shí)候會(huì)有折疊視差效果号显。一般搭配layout_collapseParallaxMultiplier=“0.5”視差的明顯程度be between 0.0 and 1.0.

2.none:沒有任何效果臭猜,往上滑動(dòng)的時(shí)候toolbar會(huì)首先被固定并推出去躺酒。

3.pin:固定模式,在折疊的時(shí)候最后固定在頂端蔑歌。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末羹应,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子次屠,更是在濱河造成了極大的恐慌园匹,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件劫灶,死亡現(xiàn)場(chǎng)離奇詭異偎肃,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)浑此,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滞详,“玉大人凛俱,你說我怎么就攤上這事×霞ⅲ” “怎么了蒲犬?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)岸啡。 經(jīng)常有香客問我原叮,道長(zhǎng),這世上最難降的妖魔是什么巡蘸? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任奋隶,我火速辦了婚禮,結(jié)果婚禮上悦荒,老公的妹妹穿的比我還像新娘唯欣。我一直安慰自己,他們只是感情好搬味,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布境氢。 她就那樣靜靜地躺著,像睡著了一般碰纬。 火紅的嫁衣襯著肌膚如雪萍聊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天悦析,我揣著相機(jī)與錄音寿桨,去河邊找鬼。 笑死她按,一個(gè)胖子當(dāng)著我的面吹牛牛隅,可吹牛的內(nèi)容都是我干的炕柔。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼媒佣,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼匕累!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起默伍,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤欢嘿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后也糊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體炼蹦,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年狸剃,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了掐隐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡钞馁,死狀恐怖虑省,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情僧凰,我是刑警寧澤探颈,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站训措,受9級(jí)特大地震影響伪节,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜绩鸣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一怀大、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧全闷,春花似錦叉寂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至局服,卻和暖如春钓瞭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背淫奔。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國打工山涡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓鸭丛,卻偏偏與公主長(zhǎng)得像竞穷,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鳞溉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容