ConstraintLayout 約束佈局的幾個新特性筆記整理
1.約束比(偏移比率)
使用前提:控制元件的四個方向都被約束
屬性/栗子 | 引數 | 說明 |
---|---|---|
app:layout_constraintHorizontal_bias="0.3" |
float | 水平約束比 |
app:layout_constraintVertical_bias="0.3" |
float | 豎直約束比 |
2.寬高比
使用前提:控制元件寬高指定其一
0dp表示待約束
(比如:w=100dp,h=0dp)
- 1.
3:2
預設(省略帶約束邊,這裡是H,表分母)
表示寬:高= 3:2
- 2.
H, 3:2
,W, 3:2
未被約束的邊表示倒置
屬性/栗子 | 引數 |
---|---|
app:layout_constraintDimensionRatio="3:2" |
寬度:高度 或者float |
3.1.權重
使用前提:相關控制元件必須水平或者豎直方向上呈“連結串列關係”
app:layout_constraintHorizontal_weight
屬性/栗子 | 說明 |
---|---|
app:layout_constraintHorizontal_weight="2" |
同LinearLayout效果 |
app:layout_constraintVertical_weight="2" |
同LinearLayout效果 |
3.2.連鎖風格
使用前提:輔助3.1的權重
layout_constraintHorizontal_chainStyle
- 1.spread:(預設可省略),可用空間平分
- 2.packed:元素包裹在一起。子控制元件的水平或垂直方向的偏置bias屬性會影響包裹中元素的位置。
- 3.spread_inside:元素展開,但鏈的端點不會展開
屬性/栗子 | 說明 |
---|---|
app:layout_constraintHorizontal_chainStyle="spread" |
spread、packed、spread_inside |
app:layout_constraintVertical_chainStyle="spread" |
spread、packed、spread_inside |
4.輔助線
Guideline
屬性/栗子 | 引數 | 說明 |
---|---|---|
android:orientation="vertical" |
horizontal、vertical | 參考線方向 |
app:layout_constraintGuide_begin="100dp" |
dimension | 根據orientation距離左/上距離 |
app:layout_constraintGuide_end="100dp" |
dimension | 根據orientation距離右 |
app:layout_constraintGuide_percent="0.6" |
float | 相對於父元素的百分比 |
相關文章
- Android入門教程:ConstraintLayout約束佈局AndroidAI
- Android 約束佈局(ConstraintLayout)1.1.0 版詳解AndroidAI
- Android Material Design控制元件使用(一)——ConstraintLayout 約束佈局AndroidMaterial Design控制元件AI
- 約束佈局ConstraintLayout看這一篇就夠了AI
- Android 隨筆—— 最強大的佈局 ConstraintLayoutAndroidAI
- 【譯】Flutter | 深入理解佈局約束Flutter
- Android約束佈局到底為什麼香?Android
- Android——ConstraintLayout的使用,優化佈局效能AndroidAI優化
- 像ConstraintLayout一樣分解你的佈局AI
- 約束外來鍵筆記筆記
- flex佈局筆記Flex筆記
- Android開發 - 掌握ConstraintLayout(四)建立基本約束AndroidAI
- ConstraintLayout 之 ConstraintSet 動態修改約束(動畫)AI動畫
- mysql新增約束語句筆記MySql筆記
- 差分約束學習筆記筆記
- Flutter學習:什麼是Container以及佈局約束的實現FlutterAI
- .NET 9 的幾個新特性,新穎嗎?
- MySQL學習筆記——建立與約束MySql筆記
- [筆記]關於blade佈局的使用筆記
- 網頁佈局------幾種佈局方式網頁
- Android開發-掌握ConstraintLayout(一)傳統佈局的問題AndroidAI
- Android開發 - 掌握ConstraintLayout(一)傳統佈局的問題AndroidAI
- Xamarin 學習筆記 - Layout(佈局)筆記
- CSS學習筆記:flex佈局CSS筆記Flex
- 分享 Python 3.6 中常用的幾個新特性Python
- 新時代佈局中一些有意思的特性
- [演算法學習筆記] 差分約束演算法筆記
- 分享幾個掘金專欄文章佈局的小技巧
- 【SQL】15 SQL 約束(Constraints)、NOT NULL 約束、UNIQUE 約束、PRIMARY KEY 約束、FOREIGN KEY 約束、CHECK 約束、DEFAULT約束SQLAINull
- 聊聊Oracle外來鍵約束(Foreign Key)的幾個操作選項Oracle
- 幾何約束求解思維框架框架
- Xilinx約束學習筆記(二)—— 定義時鐘筆記
- Oracle 21c新特性預覽與日常管理相關的幾個新特性Oracle
- 幾種常見的CSS佈局CSS
- css網頁的幾種佈局CSS網頁
- flutter 學習筆記-容器與佈局(1)Flutter筆記
- 幾條有關約束理論的管理格言
- C#11新特性整理C#