Google I/O 2016 Android筆記之Layout新世界-ConstraintLayout

引子

首先來讓我們回顧一下 Android 目前已有的布局有哪些旭绒。

圖片來自Google官方

我想大家使用比較多的應該是 LinearLayoutRelativeLayout 這兩種布局文件.

實際在使用過程中舅世,這兩種布局都會有各自的不足之處瞬沦。比如你要用 LinearLayout 來實現(xiàn)一個復雜的布局,那么就會產(chǎn)生一個很深的層級嵌套,而這顯然會帶來一定的性能問題怎抛。但是如果你要使用 RelativeLayout 來實現(xiàn)的話,你會發(fā)現(xiàn)無論在使用上還是布局編輯器上都非常難用芽淡。

有的小伙伴說抽诉,那 LinearLayoutRelativeLayout 混合使用不就可以解決問題了?

額...這...(兄弟吐绵,你不按套路出牌凹L省)

開個玩笑,因為作為Android官方來說己单,他們肯定有更優(yōu)雅的方式嘛唉窃。這就是今天的主角-ConstraintLayout

ConstraintLayout 簡介

ConstraintLayout 直譯的話,就是約束性布局.我們來看官方是怎么來介紹它的:

A small , unbundled library compatible with API level 9 .
Designed to reduce nesting .
Designed to be used in Studio .

一句話纹笼,它很棒纹份,你用不用!

可是我想知道 ConstraintLayout 到底是個什么呢 ?

ConstraintLayout does what RelativeLayout does , but more .

對蔓涧,你可以理解為一個增強版的 RelativeLayout .

而相對于RelativeLayout件已,ConstraintLayout 則更加靈活,性能出眾元暴,更主要的是篷扩,布局編輯器終于可以不那么雞肋了 .

圖片來自Google官方

看起來很Cool!是不是茉盏。

ConstraintLayout 使用

準備工作

  • Android Studio 升級到2.2 preview
  • 添加 compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha3'dependencies

顯示

在布局編輯器中有兩種顯示方式:Design 和 Blueprint .


show

Constraints

這部分內(nèi)容參考(偷個懶)了官方指導教程 .

ConstraintLayout 的重點在于Constraints鉴未,可以直譯為約束,或者關(guān)聯(lián)也可以鸠姨。Constraints可以幫助你保持控件對齊. 你可以使用錨點(比如下圖展示的Button2的四個邊上圓點)來確定與之關(guān)聯(lián)控件之間的對齊規(guī)則. 例如, 設置一個從 button 2 的左邊到 button 1 的右邊的約束(見下圖)铜秆,意味著控件 button 2 將會位于 button 1 右邊 56dp 處.

圖片來自Google官方

操作類型的說明

圖片來自Google官方

上圖中顯示了該控件所能操作的類型

調(diào)整控件大小的操作:

Resize Handle

建立控件之間邊關(guān)聯(lián)的操作:

Side Constraint Handle

控件基準線約束的操作:

Baseline Constraint Handle

示例

需要進一步了解或者感興趣的小伙伴可以直接去看看
constraint-layout 這是Android官方提供的代碼示例.

關(guān)于 ConstraintLayout 的用法這里只簡單做個介紹,目前 ConstraintLayout 還處在一個快速迭代更新的階段讶迁,所以并不推薦在實際項目中去使用连茧,就我個人的實際體驗上,確實還是存在著一些問題巍糯,當然這并不影響我們?nèi)チ私馑?/p>

感想

正如 ConstraintLayout 官方介紹視頻中多次強調(diào)的那一句話:

Our job is to make your life easier.

我相信很快 ConstraintLayout 會給Android 開發(fā)者帶來一個不一樣的體驗 .

雖然我感覺它來的有點晚 ...

相關(guān)鏈接

Android Layouts: a new world - Google I/O 2016--ConstraintLayout官方視頻介紹(需翻墻)
Using ConstraintLayout to design your views--官方指導教程(需翻墻)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末梅屉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子鳞贷,更是在濱河造成了極大的恐慌坯汤,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搀愧,死亡現(xiàn)場離奇詭異惰聂,居然都是意外死亡,警方通過查閱死者的電腦和手機咱筛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門搓幌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人迅箩,你說我怎么就攤上這事溉愁。” “怎么了饲趋?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵拐揭,是天一觀的道長。 經(jīng)常有香客問我奕塑,道長堂污,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任龄砰,我火速辦了婚禮盟猖,結(jié)果婚禮上讨衣,老公的妹妹穿的比我還像新娘。我一直安慰自己式镐,他們只是感情好反镇,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著娘汞,像睡著了一般歹茶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上价说,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天辆亏,我揣著相機與錄音风秤,去河邊找鬼鳖目。 笑死,一個胖子當著我的面吹牛缤弦,可吹牛的內(nèi)容都是我干的领迈。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼碍沐,長吁一口氣:“原來是場噩夢啊……” “哼狸捅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起累提,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤尘喝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后斋陪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體朽褪,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年无虚,在試婚紗的時候發(fā)現(xiàn)自己被綠了缔赠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡友题,死狀恐怖嗤堰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情度宦,我是刑警寧澤踢匣,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站戈抄,受9級特大地震影響符糊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜呛凶,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一男娄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦模闲、人聲如沸建瘫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽啰脚。三九已至,卻和暖如春实夹,著一層夾襖步出監(jiān)牢的瞬間橄浓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工亮航, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留荸实,地道東北人。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓缴淋,卻偏偏與公主長得像准给,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子重抖,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

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