将match_parent转换为“0dp”

时间:2016-10-19 08:59:26

标签: android android-layout android-studio android-constraintlayout

当我在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。

我不知道为什么会这样 请指导我。

3 个答案:

答案 0 :(得分:4)

ConstraintLayout不支持

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"
    >