Android 新布局:彈性布局ConstraintLayout

ConstrainLayout是一個(gè)允許你用靈活的方法去設(shè)置你控件的位置和大小的ViewGroup嚷节。

優(yōu)點(diǎn)
  • 使用根據(jù)靈活泡态,可以一個(gè)布局就完成界面卷谈。不需要像以前那樣,layout嵌套layout。
  • 很好的拖拉控件的支持蛀序。但是本文還是介紹代碼的方式。
配置

只要android api超過9,添加依賴蒋譬,就可以使用ConstrainLayout了。

compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4'

一個(gè)簡單的ConstrainLayout布局

我們來看一個(gè)簡單的ConstrainLayout布局愉适。


一個(gè)簡單的ConstraintLayout布局

我們可以看到犯助,現(xiàn)在textview是水平垂直居中的。那都是下面這幾句話的功勞维咸。

    app:layout_constraintLeft_toLeftOf="@+id/activity_main"
    app:layout_constraintRight_toRightOf="@+id/activity_main"
    app:layout_constraintTop_toTopOf="@+id/activity_main"
    app:layout_constraintBottom_toBottomOf="@+id/activity_main"

哇剂买,這幾個(gè)屬性看起來很復(fù)雜很麻煩的感覺惠爽。實(shí)際上,都是一樣的套路瞬哼。

我們可以解析一下婚肆。其實(shí)每一句屬性都可以表達(dá)為layout_constraint本控件某一邊緣_to目標(biāo)控件某一邊緣of
舉個(gè)例子:

app:layout_constraintLeft_toRightOf : 表示的是坐慰,本控件的左邊緣緊緊貼著目標(biāo)控件的右邊緣旬痹。

控件的左邊緣貼著目標(biāo)控件的右邊緣
控件的左邊緣貼著目標(biāo)控件的右邊緣

那其他的都是同理了。

app:layout_constraintRight_toRightOf :本控件右邊緣貼著目標(biāo)控件的右邊緣讨越。

app:layout_constraintTop_toTopOf : 本控件的上邊緣貼著目標(biāo)控件的上邊緣两残。

等等等等。

這是所有可以貼近的邊緣
所有可以貼近的邊緣
所有可以貼近的邊緣
這是所有的貼近屬性
layout_constraintLeft_toLeftOf
layout_constraintLeft_toRightOf
layout_constraintRight_toLeftOf
layout_constraintRight_toRightOf
layout_constraintTop_toTopOf
layout_constraintTop_toBottomOf
layout_constraintBottom_toTopOf
layout_constraintBottom_toBottomOf
layout_constraintBaseline_toBaselineOf
layout_constraintStart_toEndOf
layout_constraintStart_toStartOf
layout_constraintEnd_toStartOf
layout_constraintEnd_toEndOf

而在例子中把跨,我們的textview即貼近了父布局的左邊人弓,又貼近了父布局的右邊,而且着逐,它還是wrap_content的崔赌!不可能被拉長到父布局的寬度啊,于是耸别,在兩邊的拉力平衡下健芭,textview就水平居中了。在preview中的這個(gè)圖可以很形象地表達(dá)出左右兩邊的拉力的平衡了秀姐。

preview展示圖

拉力偏重

在上面的例子中慈迈,我們可以看到,textview兩邊的拉力偏重是相等的省有,都是50%痒留。如果我們想要textview向左偏一點(diǎn),那就可以調(diào)節(jié)一下水平的拉力偏重了蠢沿。

app:layout_constraintHorizontal_bias="0.3"

這時(shí)候伸头,左側(cè)的拉力就占了0.3的偏重了。

preview展示圖

連接到一個(gè)GONE的控件

有請(qǐng)兩位演員舷蟀,testview tv1和tv2恤磷,我們可以看到,tv2的左邊緣是貼著tv1的右邊緣的野宜。


tv1和tv2

這時(shí)候我們讓tv1退場扫步,把tv1設(shè)成gone,tv2就只能貼著父布局的邊緣了速缨。
為了應(yīng)對(duì)這種情況锌妻,android提供了goneMargin屬性。我們可以給tv2設(shè)置一下旬牲。

app:layout_goneMarginLeft="20dp"

tv2就會(huì)和父布局的左邊緣隔20dp了仿粹。


Paste_Image.png

constraintL還有很多知識(shí)我沒有學(xué)習(xí)到搁吓,以后開發(fā)中遇到再來填坑

參考:

google文檔

ConstraintLayout on csdn

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末吭历,一起剝皮案震驚了整個(gè)濱河市堕仔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌晌区,老刑警劉巖摩骨,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異朗若,居然都是意外死亡恼五,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門哭懈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來灾馒,“玉大人,你說我怎么就攤上這事遣总〔锹蓿” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵旭斥,是天一觀的道長容达。 經(jīng)常有香客問我,道長垂券,這世上最難降的妖魔是什么花盐? 我笑而不...
    開封第一講書人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮圆米,結(jié)果婚禮上卒暂,老公的妹妹穿的比我還像新娘啄栓。我一直安慰自己娄帖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開白布昙楚。 她就那樣靜靜地躺著近速,像睡著了一般。 火紅的嫁衣襯著肌膚如雪堪旧。 梳的紋絲不亂的頭發(fā)上削葱,一...
    開封第一講書人閱讀 52,158評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音淳梦,去河邊找鬼析砸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛爆袍,可吹牛的內(nèi)容都是我干的首繁。 我是一名探鬼主播作郭,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼弦疮!你這毒婦竟也來了夹攒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤胁塞,失蹤者是張志新(化名)和其女友劉穎咏尝,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體啸罢,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡编检,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扰才。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蒙谓。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖训桶,靈堂內(nèi)的尸體忽然破棺而出累驮,到底是詐尸還是另有隱情,我是刑警寧澤舵揭,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布谤专,位于F島的核電站,受9級(jí)特大地震影響午绳,放射性物質(zhì)發(fā)生泄漏置侍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一拦焚、第九天 我趴在偏房一處隱蔽的房頂上張望蜡坊。 院中可真熱鬧,春花似錦赎败、人聲如沸秕衙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽据忘。三九已至,卻和暖如春搞糕,著一層夾襖步出監(jiān)牢的瞬間勇吊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來泰國打工窍仰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留汉规,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓驹吮,卻偏偏與公主長得像针史,于是被迫代替她去往敵國和親膏燕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

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