我正在隐藏并以编程方式显示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>
答案 0 :(得分:0)
如果要更改ConstraintLayout中子级的可见性,则必须通过ConstraintSet来完成:
SomeClass[] array = new SomeClass[N];
...
array = Arrays.stream(array).filter(Objects::nonNull).toArray(SomeClass[]::new);