国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ConstraintLayout教程

2019-11-09 18:29:55
字體:
來源:轉載
供稿:網友

一.ConstraintLayout簡介

ConstraintLayout是Android Studio 2.2中主要的新增功能之一,ConstraintLayout是使用可視化的方式來編寫界面。 ConstraintLayout優點:ConstraintLayout是采用約束的方式來指定各個控件的位置和關系的,它有點類似于RelativeLayout,它可以有效地解決布局嵌套過多的問題。

二.添加依賴

新建ConstraintLayout項目。另外,確保你的Android Studio是2.2或以上版本。 為了要使用ConstraintLayout,我們需要在app/build.gradle文件中添加ConstraintLayout的依賴,如下所示

dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.es添加依賴后重新編譯

q.gif

轉換完成之后,原RelativeLayout中的內容也會自動轉換到ConstraintLayout中

<?
xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.zhoujian.constraintlayout.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" android:id="@+id/textView" tools:layout_constraintTop_creator="1" android:layout_marginStart="16dp" android:layout_marginTop="16dp" tools:layout_constraintLeft_creator="1" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent" android:layout_marginLeft="16dp"/></android.support.constraint.ConstraintLayout>

圖中的TextView。如果你不需要它的話,可以選中這個控件,然后按鍵盤上的Delete鍵即可刪除。

w.gif

左邊部分主要用于預覽最終的界面效果,右邊部分主要用于觀察界面內各個控件的約束情況。

三.基本操作

ConstraintLayout的基本用法很簡單,比如我們想要向布局中添加一個按鈕,那么只需要從左側的Palette區域拖一個Button進去就可以了,如下圖所示。

e.gif

由于沒有添加任何約束,布局文件中的布局代碼是報錯的

r.png

給Button添加約束,每個控件的約束都分為垂直和水平兩類,一共可以在四個方向上給控件添加約束,如下圖所示。

t.png

比如說,想讓Button位于布局的左上角,就可以這樣添加約束,如下圖所示。

y.gif

如果我們想要讓Button居中顯示,那么就需要給它的上下左右都添加約束,如下圖所示。

u.gif

我們還可以使用約束讓一個控件相對于另一個控件進行定位。比如說,我們希望再添加一個Button,讓它位于第一個Button的正下方,并且間距50dp,那么操作如下所示。

i.gif

添加約束的方式已經學完了,那么怎樣刪除約束呢?刪除約束的方式一共有三種方式:

第一種:刪除一個單獨的約束,將鼠標懸浮在某個約束的圓圈上,然后該圓圈會變成紅色,這個時候單擊一下就能刪除了,如下圖所示。

o.gif

第二種:刪除某一個控件的所有約束,選中一個控件,然后它的左下角會出現一個刪除約束的圖標,點擊該圖標就能刪除當前控件的所有約束了,如下所示。

p.gif

第三種用于刪除當前界面中的所有約束,點擊工具欄中的刪除約束圖標即可,如下圖所示。

a.png

刪除所有約束: s.gif

當選中任意一個控件的時候,在右側的Properties區域就會出現很多的屬性選項,如下圖所示。

d.png

在這里我們就可以設置當前控件的所有屬性,如文本內容、顏色、點擊事件等等。

需要我們重點掌握的是Properties區域的上半部分,這部分也被稱為Inspector。

在Inspector中有一個縱向的軸和一個橫向的軸,這兩個軸也是用于確定控件的位置的。我們剛才給Button的上下左右各添加了一個約束,然后Button就能居中顯示了,其實就是因為這里縱橫軸的值都是50。如果調整了縱橫軸的比例,那么Button的位置也會隨之改變,如下圖所示。

f.gif

Inspector最中間的那個正方形區域,它是用來控制控件大小的。一共有三種模式可選,每種模式都使用了一種不同的符號表示,點擊符號即可進行切換。

如圖所示:

g.gif

箭頭表示wrap content 直線表示固定值 波浪線表示match parent

如何讓一個按鈕match parent,如圖所示:

h.gif

注意:要記得將Button左側和右側的間距設置成0才行。

四.Guidelines

如果讓兩個按鈕共同居中對齊該怎么辦?這時候就需要用到Guidelines 如下小圖標就是Guidelines

j.png

如何使用,如下圖所示:

k.gif

五.自動添加約束

自動添加約束的方式主要有兩種,一種叫Autoconnect,一種叫Inference

Autoconnect:

開啟Autoconnect,默認是關閉的

z.png

動態演示,如下圖所示:

x.gif

Inference圖標:

m.png

動態演示,如下圖所示:

v.gif


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永和县| 龙泉市| 铜山县| 陆河县| 昌图县| 于田县| 留坝县| 清原| 晋中市| 黑水县| 东港市| 资兴市| 英德市| 德保县| 东莞市| 博客| 兴宁市| 柯坪县| 涡阳县| 繁峙县| 中西区| 招远市| 岐山县| 静海县| 龙游县| 中阳县| 凤台县| 沂源县| 滨州市| 彰化县| 锡林浩特市| 孟州市| 绍兴市| 大同市| 江达县| 名山县| 建宁县| 南漳县| 罗定市| 临邑县| 庐江县|