Android開(kāi)發(fā) - 掌握ConstraintLayout(三)編輯器

從本篇博客開(kāi)始我們開(kāi)始介紹如何使用ConstraintLayout。
既然ConstraintLayout叫約束布局,首先我們先介紹什么叫約束(Constraints):

約束(Constraints)

一個(gè)約束表示View之間的"布局約束"關(guān)系,以及約束的位置,類(lèi)似RelativeLayout的"相對(duì)"概念。

編輯器介紹

在工程中我們新建一個(gè)布局activity_main.xml,整個(gè)界面如下:

-w1280

這是一個(gè)編輯器整體的界面,下面我們來(lái)介紹一些常用的功能:

  • 設(shè)計(jì)/文本視圖
-w233

左下角有視圖切換的選項(xiàng),通過(guò)這個(gè)選項(xiàng)我們可以切換設(shè)計(jì)/(代碼)文本視圖,傳統(tǒng)在開(kāi)發(fā)的過(guò)程中可能覺(jué)得設(shè)計(jì)視圖并不常用,但是在使用ConstraintLayout時(shí)它確實(shí)很強(qiáng)大,反而可能很少用代碼視圖了。

  • 設(shè)計(jì)/藍(lán)圖
-w702

這里我們可以看到左上角的按鈕,這個(gè)是用來(lái)切換設(shè)計(jì)界面和藍(lán)圖界面的,通常我們需要兩個(gè)界面都展示,這樣我們可以更加清晰地看到各個(gè)View的約束。

  • 設(shè)備與分辨率適配
-w361

這個(gè)功能我們可以切換橫豎屏等UI的模式,這個(gè)功能也可以使我們方便的進(jìn)行各種UI模式的適配。

-w509

在這里我們可以預(yù)覽當(dāng)前布局在不同的分辨率下的效果,這個(gè)功能在適配的時(shí)候非常方便,這里提一下下面的Custom選項(xiàng),這個(gè)功能允許我們將當(dāng)前布局拖拽成任意的大小:

-w536
  • 自動(dòng)約束
-w700

這個(gè)功能允許編輯器自動(dòng)進(jìn)行約束,當(dāng)我們拖拽一個(gè)空間到視圖中后,編輯器會(huì)自動(dòng)為我們創(chuàng)建一個(gè)約束,可能很多時(shí)候我們并不需要自動(dòng)約束,我們可以點(diǎn)擊把它關(guān)閉。

  • 約束推斷
-w700

這個(gè)按鈕類(lèi)似PS的魔棒,它的功能是進(jìn)行約束的推斷,如圖我拖拽了兩個(gè)按鈕到布局中,一開(kāi)始并沒(méi)有任何約束,當(dāng)我點(diǎn)擊了這個(gè)按鈕后,自動(dòng)為我生成了如圖的約束。

代碼視圖

我們切換到代碼視圖:

-w836

此時(shí)我們發(fā)現(xiàn)界面的哪些約束在代碼中也僅僅增加了幾行代碼,用來(lái)表示當(dāng)前的約束,仔細(xì)觀察后我們發(fā)現(xiàn)其實(shí)都是toStartOf,toEndOf,toTopOf...,這些都是指定的當(dāng)前View與其它View(或Parent)之間的關(guān)系,對(duì)比一下RelativeLayout,我們很容易就能明白。

如果當(dāng)前沒(méi)有任何約束的時(shí)候,我們觀察代碼:

-w826

注意這些tools:xxx,只是表示View在編輯器的絕對(duì)位置,是用來(lái)我們?cè)O(shè)計(jì)(拖拽)時(shí)使用的。如果不添加約束,運(yùn)行后只是顯示在屏幕的左上角,重疊在一起。

總結(jié)

本文我們主要講解了ConstraintLayout編輯器常用功能的使用。這些功能靈活且方便地幫助我們布局頁(yè)面。下一篇:Android開(kāi)發(fā) - 使用ConstraintLayout(四)創(chuàng)建基本約束我們將介紹使用基本的約束。

本文地址,如有更多疑問(wèn),請(qǐng)參考我的其它Android相關(guān)博客:我的博客地址

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,039評(píng)論 25 709
  • 用兩張圖告訴你,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 13,992評(píng)論 2 59
  • 01 前天和小伙伴們八卦明星偶像。(赤裸裸的出賣(mài)了我們的年紀(jì)) 劉德華,不僅多才多藝,還長(zhǎng)的老帥老帥滴,幾代人都喜...
    寶二姐閱讀 867評(píng)論 0 1
  • 為政第二 2-1 【子曰:為政以德,譬如北辰,居其所而眾星共之。】 結(jié)束上一篇的《學(xué)而》理論,現(xiàn)在輪到實(shí)操了,即開(kāi)...
    空空的山谷閱讀 2,037評(píng)論 6 2
  • Mutation 更改Vuex的store中的狀態(tài)的唯一方法是提交mutation。Vuex中的mutation非...
    小冕閱讀 739評(píng)論 0 0

友情鏈接更多精彩內(nèi)容