从最大拉伸停止空的ConstraintLayout

时间:2018-11-18 16:46:38

标签: android android-constraintlayout

当我从“约束”布局中删除所有视图时,我希望它的高度为0dp(听起来很像wrap_content),但要尽可能伸展。

是否有记录的方式可以做到这一点?我的意思是除了将maxHeight设置为0或将其隐藏。

我尝试将app:layout_constrainedHeight="true""wrap_content"一起使用,但是它不起作用。

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">

<android.support.constraint.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_constrainedHeight="true"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

</android.support.constraint.ConstraintLayout>

1 个答案:

答案 0 :(得分:1)

我找不到合适的解决方案。


我想到的最简单的解决方法是使用height=0添加一个额外的视图,并且永远不要删除它:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/holo_red_dark"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <FrameLayout
            android:id="@+id/somethingWithNoHeight"
            android:layout_width="match_parent"
            android:layout_height="0dp" />

        <!--<TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Lorem ipsum" />-->
    </android.support.constraint.ConstraintLayout>
</android.support.constraint.ConstraintLayout>

我相信您应该填补一个错误,以确保开发人员了解此类问题