美文网首页
Android布局(七)--- ConstraintLayout

Android布局(七)--- ConstraintLayout

作者: GODANDDEVIL | 来源:发表于2020-03-03 14:01 被阅读0次

1、基本属性:
app:layout_constraintLeft_toLeftOf(控件左边与另一个控件左边对齐)
app:layout_constraintLeft_toRightOf(控件左边在另一个控件的右边)
app:layout_constraintRight_toLeftOf(控件右边在另一个控件的左边)
app:layout_constraintRight_toRightOf(控件右边与另一个控件右边对齐)
app:layout_constraintTop_toTopOf(控件顶部与另一个控件顶部对齐)
app:layout_constraintTop_toBottomOf(控件顶部在另一个控件的底部)
app:layout_constraintBottom_toTopOf(控件底部在另一个控件的顶部)
app:layout_constraintBottom_toBottomOf(控件顶部与另一个控件底部对齐)
app:layout_constraintBaseline_toBaselineOf(控件与另一个控件文本基线对齐)
app:layout_constraintStart_toEndOf
app:layout_constraintStart_toStartOf
app:layout_constraintEnd_toStartOf
app:layout_constraintEnd_toEndOf
layout_constraintHorizontal_bias(水平偏移,0~1)
layout_constraintVertical_bias(垂直偏移,0~1)

2、圆定位
app:layout_constraintCircle(控件相对于某一控件,后面填控件id)
app:layout_constraintCircleAngle(控件位于另一控件的角度)
app:layout_constraintCircleRadius(两控件间的圆心距离)

3、ConstraintLayout的边距属性
android:layout_marginStart
android:layout_marginEnd
android:layout_marginLeft
android:layout_marginTop
android:layout_marginRight
android:layout_marginBottom
注意:如要实现margin效果,必须先写好约束属性才能使margin生效

4、goneMargin与visibility
layout_goneMarginStart
layout_goneMarginEnd
layout_goneMarginLeft
layout_goneMarginTop
layout_goneMarginRight
layout_goneMarginBottom
比如button2依赖button1,只有button1设置了android:visibility="gone",那么button2设置的goneMargin属性才能生效。一个控件设置成了gone,并不是从屏幕中消失了,而是变为了一个不可见的点,并且他的margin,padding属性都消失了,这时候依赖它的那个view,依然会存在原有的依赖。

5、宽高比属性
app:layout_constraintDimensionRatio
设置宽高比时,可以在前面加W或H,分别指定宽度或高度限制。 例如:
app:layout_constraintDimensionRatio="H,2:3"指的是 高:宽=2:3(约束高度按比例得出宽度)
app:layout_constraintDimensionRatio="W,2:3"指的是 宽:高=2:3(约束宽度按比例得出高度)

6、尺寸约束
当控件的高度或宽度为wrap_content时,可以使用下列属性来控制最大、最小的高度或宽度:
android:minWidth 最小的宽度
android:minHeight 最小的高度
android:maxWidth 最大的宽度
android:maxHeight 最大的高度

7、Chains
同一水平线上的控件相互约束,两端两个控件分别与parent约束,就形成一条链,一条链的第一个控件是这条链的链头,我们可以在链头中设置 layout_constraintHorizontal_chainStyle来改变整条链的样式。chains提供了3种样式,分别是:
CHAIN_SPREAD —— 展开元素 (默认);
CHAIN_SPREAD_INSIDE —— 展开元素,但链的两端贴近parent;
CHAIN_PACKED —— 链的元素将被打包在一起。
除了样式链外,还可以创建一个权重链。如果我们把控件宽度都设为0dp,这个时候可以在每个控件中设置权重layout_constraintHorizontal_weight(constraintVertical为纵向)来创建一个权重链

转自:https://www.jianshu.com/p/17ec9bd6ca8a

相关文章

网友评论

      本文标题:Android布局(七)--- ConstraintLayout

      本文链接:https://www.haomeiwen.com/subject/reypkhtx.html