ConstraintLayout已經(jīng)出來(lái)有八百多年了混滔,但是因?yàn)槠綍r(shí)已經(jīng)習(xí)慣了在XML里手寫(xiě)布局洒疚,基本上已經(jīng)到了不看預(yù)覽界面就可以完成各種布局的程度,所以一直都沒(méi)有學(xué)這東西(才不是因?yàn)閼惺裁吹?坯屿。但是畢竟是好玩意油湖,拖拖拽拽就能完成酷炫的布局,誰(shuí)來(lái)想去擼枯燥的代碼呢领跛,來(lái)來(lái)來(lái)乏德,玩一玩。
Ps:文章專為自己食用,有那位道友不小心點(diǎn)進(jìn)來(lái)學(xué)習(xí)ConstraintLayout可以右上角紅叉了喊括。
說(shuō)明
Google在2016的I/O上發(fā)布的一個(gè)功能胧瓜,當(dāng)時(shí)看視頻覺(jué)得是真jier皮的沙發(fā),可視化操作啊郑什,可視化啊府喳,果斷更新studio,體驗(yàn)了一把蘑拯。然而....拖幾個(gè)簡(jiǎn)單的布局還是可以的钝满,復(fù)雜一點(diǎn)的就懵逼了,這是啥申窘,這咋整弯蚜,夭壽啦,控件不聽(tīng)我控制啦剃法。整這么多沒(méi)用的其實(shí)就想說(shuō)ConstraintLayout繼承自ViewGroup,向下兼容到API 9碎捺,也就是.....可以兼容到上古的2.3版本,所以無(wú)需考慮兼容問(wèn)題贷洲。開(kāi)整收厨。
基礎(chǔ),都說(shuō)是基礎(chǔ)了恩脂,絕對(duì)是簡(jiǎn)單的不行了帽氓,自己玩一玩就OK了趣斤。
- 每個(gè)控件的四周會(huì)有四個(gè)點(diǎn)俩块,可以給它自己添加約束,通過(guò)拖動(dòng)四個(gè)小圓點(diǎn)來(lái)確定控件的位置浓领。
- 當(dāng)一個(gè)控件確定好位置后玉凯,其他控件可以以這個(gè)控件為目標(biāo),通過(guò)拉取小圓點(diǎn)來(lái)確定自己的位置联贩。
-確定位置可以說(shuō)是約束漫仆,刪除約束的方式有三種:1.鼠標(biāo)放在小圓點(diǎn)上,小圓點(diǎn)變紅后點(diǎn)擊可以刪除當(dāng)前約束線泪幌。2.每個(gè)控件下面都會(huì)有個(gè)剪刀狀的圖標(biāo)盲厌,點(diǎn)擊圖標(biāo)可以刪除該控件所有約束。3.studio操作界面有個(gè)紅色的剪刀祸泪,點(diǎn)擊可以刪除該布局的所有約束吗浩。
Inspector
Inspector也就是操作界面右邊那個(gè)酷炫的操作臺(tái),一些基礎(chǔ)屬性的設(shè)置不談没隘,就看那個(gè)酷炫的XXXX懂扼,不知道叫啥。
- 首先最外層有個(gè)進(jìn)度條,從0-100阀湿,也就是約束后可控的距離百分比赶熟,可設(shè)置百分比距離。
- 然后是四方框里面的四個(gè)按鈕陷嘴,它一共有三種形態(tài):
1.>>>這個(gè)形態(tài)就是wrap content
2.|--|這個(gè)形態(tài)是給寬或者高一個(gè)固定值
3.究極體映砖。。罩旋。畫(huà)不出啊央,反正就是else了,類似與match parent涨醋,但是它表示的
是充滿約束大小瓜饥。
Guidelines 類似與輔助線的功能
- 作用就是在需要的時(shí)候當(dāng)一個(gè)指路的明燈。
- 兩種形態(tài)浴骂,一種是dp乓土,一種是%。
自動(dòng)約束A溯警,也就是操作界面上的小磁鐵
- 打開(kāi)以后可以自己根據(jù)控件的擺放位置進(jìn)行自動(dòng)約束趣苏,當(dāng)然很有可能是這并不是你想要的結(jié)果。梯轻。食磕。。
自動(dòng)約束B(niǎo)喳挑,操作界面上兩個(gè)閃閃發(fā)光的星星
- 當(dāng)你把所有控件擺好位置以后他會(huì)根據(jù)控件的擺放位置給布局中的所有控件添加約束彬伦,然后可以自己再進(jìn)行調(diào)整。
寫(xiě)到這里伊诵,我的心里只有一個(gè)想法单绑,看我表情
emmmmmm....一定是我學(xué)習(xí)的姿勢(shì)不對(duì),今天說(shuō)好早點(diǎn)睡曹宴,先寫(xiě)到這里搂橙,明日繼續(xù)。
Over笛坦,于殺戮之中盛放 亦如黎明中的花朵