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

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容