ConstraintLayout-设置0dp,控件不显示

示例:

llContainertopbottom根据AAA来约束,并且宽高设置为0dp,当控件 AAA设置为 View.GONE 的时候,会导致 llContainer 的高度为 0,从而不显示

    <LinearLayout
        android:id="@+id/llContainer"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="@+id/AAA"
        app:layout_constraintLeft_toRightOf="@+id/BBB"
        app:layout_constraintRight_toLeftOf="@+id/CCC"
        app:layout_constraintTop_toTopOf="@+id/AAA">

修改:

添加Barrier来设置多个约束,当 AAA 被隐藏时,保证 DDD 是正常显示的

<androidx.constraintlayout.widget.Barrier
    android:id="@+id/llContainerBottom"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:barrierDirection="bottom"
    app:constraint_referenced_ids="AAA,DDD" />

<androidx.constraintlayout.widget.Barrier
    android:id="@+id/llContainerTop"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:barrierDirection="top"
    app:constraint_referenced_ids="AAA,DDD" />

<LinearLayout
    android:id="@+id/llContainer"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintBottom_toBottomOf="@+id/llContainerBottom"
    app:layout_constraintLeft_toRightOf="@+id/BBB"
    app:layout_constraintRight_toLeftOf="@+id/CCC"
    app:layout_constraintTop_toTopOf="@+id/llToolContainerTop">
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容