当我在Constraint Layout中使用android:layout_height="match_parent"
或android:layout_width="match_parent"
作为子项的高度/宽度并构建Gradle文件时,它会自动分别更改为android:layout_height="0dp"
或android:layout_widtht="0dp"
。
从技术上讲, 0dp 与 match_parent 之间存在巨大差异。
大多数情况下它不会影响我的布局,但有时候这个东西会完全破坏我的Constraint Layout。
我不知道为什么会这样 请指导我。
答案 0 :(得分:4)
match_parent。如果您想要相同的行为,请使用0dp并在父节点的每一侧设置约束。
答案 1 :(得分:1)
您不应将match_parent用于ConstraintLayout中的任何视图。而是使用"匹配约束" (0dp)
match_parent
表示filling whats left
,其中0dp表示match constraints
。在ConstraintLayout中,不支持match_parent
。
match_parent
依赖于它的父级位置(x,y和宽度/高度),但0dp可以通过约束/位置来定义
答案 2 :(得分:0)
与我一起工作的方式是将一个Relative项放在另一个元素下,宽度匹配父元素是:
<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/xxx"
app:layout_constraintEnd_toEndOf="@+id/xxx"
>