Android約束布局

2021-09-25 02:25:19 字數 1053 閱讀 2555

android約束布局問世已經有一段時間了,對於最初的一些開發者來說,早已習慣了相對布局或線性布局的使用,基本上可以滿足日常開發的需求。但是這樣一來,約束布局不就沒有它存在的意義了嗎。

從谷歌官方資料來看,約束布局在某些情況下表現要高於線性布局以及相對布局。其特點是層級單一,所有控制項均處於同一層級。

帶你了解android約束布局constraintlayout

約束布局的強大

1、圓形定位

可以讓乙個控制項以另乙個控制項的中心為中心點,來設定其相對與該中心點的距離和角度

2、障礙

當需要某一控制項的位置是根據某幾個控制項寬度改變而改變時,可以設定某幾個控制項為一組,目標控制項對這組控制項設定障礙,從而達到效果。

3、guidelines

在橫縱兩個方向上可以設定guideline,其用於幫助控制項約束時提供邊界。如需要兩個控制項整體居中。則設定縱軸方向guideline在50%地方,之後左右兩邊各乙個控制項既滿足居中條件。

4、自動新增約束

自動新增約束的方式主要有兩種,一種叫autoconnect,一種叫inference

autoconnect是生效後,下乙個新增的控制項自動新增約束。

inference是給當前頁面內所有控制項自動新增約束。

注意自動新增約束不會百分百的準確,仍然需要我們進行手動調整。

5、尺寸約束

約束布局中不推薦使用match_parent這個值,如果想滿足效果,設定寬或高為0dp。

6、寬高比

通過layout_constraintdimensionratio設定乙個比例即可,如2:1 。若希望寬度充滿全屏,高度按比例,則需要在前面加上"h",之後再加上比例。寬和高同時要設定0dp。

7、百分百寬高

百分比寬高為設定自身乙個0到1之間的值,以自身為基數乘以比例。

8、位置偏向

可以設定位置偏向某一方向百分比。如偏左30%,即控制項整體位置偏左30%。

9、權重

與線性布局一樣,約束布局也可以設定權重

10、鏈

約束布局提供了5種鏈式結構,權重鏈就是其中一種。使用不同的結構可以達到不同的效果。

Android介面布局一 約束布局

原文 一 新增依賴 引入我們的constraintlayout,在build.gradle中加入 compile com.android.support.constraint constraint layout 1.0.2 二 屬性介紹layout constraintright toleftof ...

ConstraintLayout 約束布局

使用constraintlayout需要我們新增如下依賴 compile com.android.support.constraint constraint layout 1.0.0 alpha4 偏離父容器左邊緣的距離為父容器寬度的25 偏離父容器上邊緣的距離為父容器高度的25 guideline...

ConstraintLayout 約束布局

在以前,android是使用布局如linearlayout relativelayout等來構建頁面,但這些布局使用起來很麻煩,並且經常需要一層一層巢狀,寫乙個簡單的頁面就需要費很大的勁。所以在16年i o大會上,google發布了全新的布局 constraintlayout,其他布局和constr...