ConstrainLayout不尊重层次结构

时间:2017-07-25 11:23:43

标签: java android android-constraintlayout

Screen Shot我有这个布局

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

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

2 个答案:

答案 0 :(得分:0)

转到xml,点击设计。在左上角,您将看到一个类似于蓝图的图标。单击它,您将获得蓝图的布局。然后单击所需的元素,您将在所有方面看到四个点。单击上部点并将其拖到上部barmenu等)。这样你就会附上它,它会留在原地。如果你想在属性的正上方看到偏移量,你会看到一个表示具有约束的项目的框,只需放置你想要的距离,你就会得到你的偏移量。

答案 1 :(得分:0)

问题出在Android 5.0提升中。按钮具有默认高程,这就是它始终显示在顶部的原因。将高程值设置为我的包含布局可以解决问题。