ConstraintLayout未显示子视图

时间:2018-05-08 13:57:10

标签: android android-layout android-constraintlayout

我正在隐藏并以编程方式显示textview。父约束布局已设置高度' wrap_content'。

但问题是如果最初隐藏textview,即使我将textview可见性设置为VISIBLE,ConstraintLayout titleLayout也会保持折叠并且不显示子文本视图。

将ConstraintLayout的高度设置为wrap_content非常重要,因此布局可以根据textview内容进行扩展/缩小。

 <android.support.constraint.ConstraintLayout
            android:paddingTop="10dp"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

 <android.support.constraint.ConstraintLayout
            android:id="@+id/descriLayout"
            android:layout_width="match_parent"
            app:layout_constraintTop_toBottomOf="@id/titleLayout"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            android:layout_marginTop="5dp"
            android:layout_height="wrap_content">
            <TextView
                android:id="@+id/box_description"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginRight="8dp"
                android:layout_marginStart="8dp"
                android:text="TextView"
                android:textSize="12sp"
                android:maxLines="5"
                app:layout_constraintRight_toRightOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintBottom_toBottomOf="parent"/>
        </android.support.constraint.ConstraintLayout>
   </android.support.constraint.ConstraintLayout>

1 个答案:

答案 0 :(得分:0)

如果要更改ConstraintLayout中子级的可见性,则必须通过ConstraintSet来完成:

SomeClass[] array = new SomeClass[N];
...
array = Arrays.stream(array).filter(Objects::nonNull).toArray(SomeClass[]::new);