ConstraintLayout系列之四: 遇到的問(wèn)題記錄及動(dòng)畫(huà)效果

原文:

http://www.reibang.com/p/16e95b6b5e38

http://www.reibang.com/p/575829baa39d


如何閱讀 xml 屬性

與 Relativelayout 不同刁赦,ConstrainLayout 的屬性需要同時(shí)說(shuō)明需要怎么操作自己與目標(biāo)控件啰劲,例如:layout_constraintLeft_toLeftOf 指自身左邊緣與目標(biāo)控件左邊緣對(duì)齊

從此 match_parent 是故人

ConstraintLayout 里不再使用 match_parent讳侨,想要鋪滿屏幕,只能設(shè)置寬度為 0秘蛇,并添加左右邊緣與父容器的約束。(想要實(shí)現(xiàn) match_parent的效果,切記要設(shè)置該方向大小為 0dp

android:layout_width="0dp"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toRightOf="parent"

穿了馬甲的 LinearLayout

線性布局的 weight 屬性可以輕松實(shí)現(xiàn)等分操作节预。在 ConstraintLayout 里你也可以實(shí)現(xiàn)類似的功能:

app:layout_constraintHorizontal_bias=".3" //數(shù)值范圍:0~1

如果控件已約束了左右邊緣且定義了 bias 為 0.3仅财,則意味著控件與左邊緣的距離占控件左右邊緣間距的 30%狈究,如圖:

bias

甚至想要實(shí)現(xiàn) LinearLayout 的 weight=1 等分操作(例如水平方向上等分)也很簡(jiǎn)單,每個(gè)相鄰控件互為約束并設(shè)置 width=0dp 即可盏求。這樣其實(shí)就組成了鏈(chaining)抖锥。

像上面說(shuō)到的亿眠,設(shè)置 width=0,且控件之間兩兩互相約束磅废,即可實(shí)現(xiàn)水平方向等分纳像。此時(shí)還可以給控件設(shè)置 layout_constraintHorizontal_weight 屬性,該屬性與 LinearLayout 中的 weight 類似拯勉。

鏈條頭部的屬性

水平鏈的最左邊竟趾,垂直鏈的最上邊稱之為頭部,鏈的頭部可以設(shè)置鏈的屬性:

app:layout_constraintHorizontal_chainStyle="spread"

app:layout_constraintVertical_chainStyle="packed"

spread 默認(rèn)屬性谜喊,平均分布

spread_inside 首尾無(wú)間距

packed 控件間無(wú)間距潭兽,可以同時(shí)搭配 layout_constraintHorizontal_bias 屬性控制與父容器的間距

各屬性值的樣式如下:

各屬性樣式

厲害了,還能設(shè)寬高比

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

該屬性起作用的前提是寬或高至少有一個(gè)設(shè)為 0dp斗遏,設(shè)為 0dp 的邊即為隨比例縮放的邊山卦。

舉個(gè)栗子:

android:layout_width="wrap_content"

android:layout_height="0dp"

app:layout_constraintDimensionRatio="1:1"/>

該文本框在隨著內(nèi)容文字的增加,寬度會(huì)越來(lái)越大诵次,一旦設(shè)定了寬高比為1账蓉,則在寬度增大時(shí)高度也會(huì)等比增大,一直保持在寬高比1:1逾一。

寬高比還有另外的妙用铸本,比如一個(gè)控件左右邊緣已存在與父容器約束,且同時(shí)將寬高都設(shè)為 0dp遵堵,便得到水平方向上鋪滿屏幕的效果箱玷,如圖:

寬高均設(shè)為0

指示線 Guideline

指示線不會(huì)被繪制到 UI 中,所以放心大膽地用陌宿。Guideline 的一些屬性:

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/guideline"

app:layout_constraintGuide_percent="0.5" //設(shè)置位置比例

android:orientation="vertical"/> //不注明該屬性锡足,則默認(rèn)是水平方向

app:layout_constraintGuide_begin="30dp" //設(shè)置與頭部邊距

app:layout_constraintGuide_end="30dp" // 設(shè)置與尾部邊距

其他

layout_goneMarginLeft 屬性,當(dāng)有約束關(guān)系的控件被置為 gone 狀態(tài)時(shí)壳坪,可以通過(guò)設(shè)置該屬性來(lái)控制間距

動(dòng)畫(huà)

[譯]Constraint Layout 動(dòng)畫(huà) |動(dòng)態(tài) Constraint |用 Java 實(shí)現(xiàn)的 UI(這到底是什么)[第三部分]

作者:揚(yáng)州慢_

鏈接:http://www.reibang.com/p/16e95b6b5e38

來(lái)源:簡(jiǎn)書(shū)

著作權(quán)歸作者所有舶得。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處爽蝴。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末沐批,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蝎亚,更是在濱河造成了極大的恐慌九孩,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件发框,死亡現(xiàn)場(chǎng)離奇詭異瘾蛋,居然都是意外死亡缤沦,警方通過(guò)查閱死者的電腦和手機(jī)蜂林,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門耗跛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了设预?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)犁河。 經(jīng)常有香客問(wèn)我鳖枕,道長(zhǎng),這世上最難降的妖魔是什么桨螺? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任宾符,我火速辦了婚禮,結(jié)果婚禮上灭翔,老公的妹妹穿的比我還像新娘魏烫。我一直安慰自己,他們只是感情好肝箱,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布哄褒。 她就那樣靜靜地躺著,像睡著了一般煌张。 火紅的嫁衣襯著肌膚如雪呐赡。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,156評(píng)論 1 308
  • 那天骏融,我揣著相機(jī)與錄音链嘀,去河邊找鬼。 笑死档玻,一個(gè)胖子當(dāng)著我的面吹牛怀泊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播窃肠,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼刷允!你這毒婦竟也來(lái)了冤留?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤树灶,失蹤者是張志新(化名)和其女友劉穎纤怒,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體天通,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡泊窘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烘豹。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瓜贾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出携悯,到底是詐尸還是另有隱情祭芦,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布憔鬼,位于F島的核電站龟劲,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏轴或。R本人自食惡果不足惜昌跌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望照雁。 院中可真熱鬧蚕愤,春花似錦、人聲如沸囊榜。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)卸勺。三九已至砂沛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間曙求,已是汗流浹背碍庵。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悟狱,地道東北人静浴。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像挤渐,于是被迫代替她去往敵國(guó)和親苹享。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

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