Android约束布局中app:layout_constraintDimensionRatio的H,1:1与W,1:1区别
Android约束布局中
H,1:1与W,1:1的区别 核心逻辑
app:layout_constraintDimensionRatio的前缀H/W用于指定比例计算的基准维度,另一个维度会按照设定的比例自适应匹配基准维度的尺寸。
具体区别
app:layout_constraintDimensionRatio="H,1:1"
以高度为基准维度:- 若高度是固定值(如
android:layout_height="120dp")或通过约束确定了明确高度,宽度会自动调整为与高度相同的尺寸(此时宽度需设为0dp即match_constraint)。 - 若高度为
match_constraint(0dp),则优先根据父布局的可用高度确定高度值,再按1:1比例计算宽度。
- 若高度是固定值(如
app:layout_constraintDimensionRatio="W,1:1"
以宽度为基准维度:- 若宽度是固定值(如
android:layout_width="180dp")或通过约束确定了明确宽度,高度会自动调整为与宽度相同的尺寸(此时高度需设为0dp)。 - 若宽度为
match_constraint(0dp),则优先根据父布局的可用宽度确定宽度值,再按1:1比例计算高度。
- 若宽度是固定值(如
对例子的验证
你提到的“app:layout_constraintDimensionRatio="H,1:1"表示高度固定,宽度自适应为与高度相同的尺寸”是正确的,但需注意:高度不一定是硬编码的固定值,通过约束(如上下绑定到父布局/其他View)确定的高度也能作为基准,宽度会自动匹配。
内容的提问来源于stack exchange,提问作者pequeñaluna
相关产品推荐
相关产品推荐

