ConstraintLayout 不尊重层次结构

ConstrainLayout not respecting the hierarchy

我有这个布局

....................
<CheckBox
        android:id="@+id/cb_remember_login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textinput2"
        android:text="@string/keep_login"
        android:textColor="@android:color/holo_red_dark"
        android:textSize="18sp"
        android:layout_marginTop="14dp"
        app:layout_constraintTop_toBottomOf="@+id/textinput2"
        app:layout_constraintBottom_toTopOf="@+id/btn_signin_login" />



    <Button
        android:id="@+id/btn_signin_login"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/cb_remember_login"
        android:backgroundTint="@color/colorAccent"
        android:minHeight="75dp"
        android:text="@string/signin"
        android:textColor="@android:color/background_light"
        android:textSize="30sp" android:visibility="visible"
        android:layout_marginTop="36dp"
        app:layout_constraintTop_toBottomOf="@+id/cb_remember_login"
        app:layout_constraintBottom_toTopOf="@+id/tv_forgot_login"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"/>


    <include
        layout="@layout/view_circle_progress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toTopOf="@+id/btn_signin_login"
        app:layout_constraintBottom_toBottomOf="btn_signin_login"
        app:layout_constraintLeft_toLeftOf="@+id/btn_signin_login"
        app:layout_constraintRight_toRightOf="@+id/btn_signin_login" />




    <TextView
        android:id="@+id/tv_forgot_login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/btn_signin_login"
        android:text="@string/forgot_pass"
        android:textAlignment="center"
        android:textColor="@android:color/holo_red_dark"
        android:textSize="18sp"
        android:layout_marginTop="14dp"
        app:layout_constraintTop_toBottomOf="@+id/btn_signin_login"
        app:layout_constraintBottom_toTopOf="@+id/tv_copyrights_login"
        tools:layout_editor_absoluteX="0dp" />

...........][1]][1]

这里是view_circle_progress.xml

<ProgressBar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:indeterminateTint="@color/red">

</ProgressBar>

您可以看到我包含的布局位于按钮之后,但在图片中您可以看到它实际上位于按钮下方。请帮忙解决。此外,除了包含的布局外,所有视图都在一个链中。

转到您的 xml,单击设计。在左上角,您会看到一个类似于蓝图的图标。单击它,您将获得作为蓝图的布局。然后点击你想要的元素,你会看到四面都有四个点。单击上方的点并将其拖动到上方 barmenu 等)。这样你就可以连接它并且它会留在原地。如果你想在你的属性上方设置偏移量,你会看到一个框代表项目及其约束,只需输入你想要的距离,你就会有你的偏移量。

问题出在 Android 引入了 5.0 提升。按钮有一个默认高度,这就是它总是显示在顶部的原因。为我的包含布局设置高程值解决了这个问题。