ConstraintLayout約束布局

1. 為什么要用ConstraintLayout

1.1 減少布局嵌套

1.2 對比RelativeLayout趁矾,更靈活,性能更高

1.3 ConstraintLayout可以按照比例約束控件位置和尺寸,能夠更好地適配屏幕大小不同的機(jī)型

2. ConstraintLayout的使用

添加依賴? implementation 'com.android.support.constraint:constraint-layout:1.1.3'

相對定位:

控件添加布局約束?app:layout_constraintLeft_toRightOf="@id/tv_title"等等

兩個高度不同的TextView癌刽,需要文字水平對齊時,可以使用app:layout_constraintBaseline_toBaselineOf

角度定位:

指的是可以用一個角度和一個距離來約束兩個空間的中心

app:layout_constraintCircle="@+id/tv_title_1"

app:layout_constraintCircleAngle="120"(角度)

app:layout_constraintCircleRadius="150dp"(距離)

邊距:

常用margin,當(dāng)前控件相對于約束控件的邊距周蹭,必須先設(shè)置約束位置趋艘,然后設(shè)置margin才能生效

goneMargin,主要用于約束控件可見性被設(shè)置為gone的時候使用的margin值凶朗,當(dāng)約束控件設(shè)置為gone的時候才生效的邊距

居中和偏移:

居中

android:layout_width="wrap_content"?

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toRightOf="parent"

app:layout_constraintTop_toTopOf="parent"

偏移瓷胧,取值0-1,0-最左邊棚愤,1-最右邊搓萧,0.5-居中

app:layout_constraintHorizontal_bias="0.5" 水平偏移

app:layout_constraintVertical_bias="0" 垂直偏移

寬高比:

當(dāng)寬或高至少有一個尺寸被設(shè)置為0dp時,可以通過屬性app:layout_constraintDimensionRatio設(shè)置寬高比

app:layout_constraintDimensionRatio="1:1"? 寬高1:1

在設(shè)置寬高比的值的時候宛畦,還可以在前面加W或H瘸洛,分別指定寬度或高度限制

app:layout_constraintDimensionRatio="H,2:3" 指的是 高:寬=2:3

app:layout_constraintDimensionRatio="W,2:3" 指的是? 寬:高=2:3

鏈:

3個TextView相互約束,兩端兩個TextView分別與parent約束次和,成為一條鏈

一條鏈的第一個控件是這條鏈的鏈頭反肋,我們可以在鏈頭中設(shè)置 layout_constraintHorizontal_chainStyle來改變整條鏈的樣式。chains提供了3種樣式踏施,分別是:

CHAIN_SPREAD —— 展開元素 (默認(rèn))石蔗;平均分布

CHAIN_SPREAD_INSIDE —— 展開元素,但鏈的兩端貼近parent读规;左右靠邊抓督,平均分布

CHAIN_PACKED —— 鏈的元素將被打包在一起。三個緊靠一起然后居中

如果把寬度都設(shè)為0dp束亏,這個時候可以在每個TextView中設(shè)置橫向權(quán)重app:layout_constraintHorizontal_weight(constraintVertical為縱向)來創(chuàng)建一個權(quán)重鏈

Barrier:

當(dāng)TextView1和TextView2寬度為wrap_content的時候铃在,TextView3居右邊時

app:barrierDirection為屏障所在的位置,可設(shè)置的值有:bottom碍遍、end定铜、left、right怕敬、start揣炕、top

app:constraint_referenced_ids為屏障引用的控件,可設(shè)置多個(用“,”隔開)

Group:

可以把多個控件歸為一組东跪,方便隱藏或顯示一組控件畸陡,把TextView1和TextView3歸為一組,同時控制

注意點:

全寬度虽填, 全高度也同理

?android:layout_width="0dp"?

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toRightOf="parent"


參考:約束布局ConstraintLayout看這一篇就夠了 - 簡書 (jianshu.com)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末丁恭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子斋日,更是在濱河造成了極大的恐慌牲览,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恶守,死亡現(xiàn)場離奇詭異第献,居然都是意外死亡贡必,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門庸毫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仔拟,“玉大人,你說我怎么就攤上這事岔绸±硌罚” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵盒揉,是天一觀的道長晋被。 經(jīng)常有香客問我,道長刚盈,這世上最難降的妖魔是什么羡洛? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮藕漱,結(jié)果婚禮上欲侮,老公的妹妹穿的比我還像新娘。我一直安慰自己肋联,他們只是感情好威蕉,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著橄仍,像睡著了一般韧涨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上侮繁,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天虑粥,我揣著相機(jī)與錄音,去河邊找鬼宪哩。 笑死娩贷,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的锁孟。 我是一名探鬼主播彬祖,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼品抽!你這毒婦竟也來了涧至?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤桑包,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后纺非,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體哑了,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡赘方,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了弱左。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窄陡。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖拆火,靈堂內(nèi)的尸體忽然破棺而出跳夭,到底是詐尸還是另有隱情,我是刑警寧澤们镜,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布币叹,位于F島的核電站,受9級特大地震影響模狭,放射性物質(zhì)發(fā)生泄漏颈抚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一嚼鹉、第九天 我趴在偏房一處隱蔽的房頂上張望贩汉。 院中可真熱鬧,春花似錦锚赤、人聲如沸匹舞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赐稽。三九已至,卻和暖如春酒贬,著一層夾襖步出監(jiān)牢的瞬間又憨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工锭吨, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留蠢莺,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓零如,卻偏偏與公主長得像躏将,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子考蕾,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

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