ConstraintLayout绘制顺序/图层顺序

时间:2017-08-28 08:53:12

标签: android xml android-constraintlayout

简单问题:

ConstraintLayout使用的确切算法是什么,以便知道首先绘制哪个视图以及最后绘制哪个视图?

在RelativeLayout中,最后绘制了XML文件中的最后一个视图,因此它将位于所有内容之上,模糊了先前绘制的视图。

为什么ConstraintLayout不具备相同的功能(至少,显然)?

以下代码导致Button显示在所包含的视图之上。

<Button
    android:id="@+id/calculate"
    android:layout_width="183dp"
    android:layout_height="76dp"
    android:layout_marginBottom="5dp"
    android:layout_marginLeft="16dp"
    android:layout_marginStart="16dp"
    android:text="C A L C U L A T E"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent" />

<include
    android:id="@+id/help_window"
    layout="@layout/help_window"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="0dp"
    android:layout_marginLeft="0dp"
    android:layout_marginRight="0dp"
    android:layout_marginTop="0dp"
    android:visibility="invisible"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/include4" />


</android.support.constraint.ConstraintLayout>

1 个答案:

答案 0 :(得分:2)

好的。我现在解决了这个问题。

显然按钮是单独处理的。随着海拔高度的增加,alwyas将位于顶部。

解决方法是删除此提升,将其写入按钮中的xml文件中:

机器人:stateListAnimator = “@空”