相关疑难解决方法(0)

ConstraintLayout,当依赖于约束的视图消失时,布局视图表现得很奇怪

我正在使用ConstraintLayout,我将在下面显示

在此输入图像描述

我想隐藏First(使用已消失),以及我期望的视图如下所示(ElasticBody将延伸以使用原始First视图空间).

在此输入图像描述

但是,当我实际设置First为时gone,我的视图结果如下(所有图像都来自Android Studio Design视图).我Elastic Body也失踪了,高度奇怪地扩大了.

在此输入图像描述

我的布局代码如下

<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="wrap_content"
    android:padding="16dp">

    <TextView
        android:id="@+id/txt_first"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#0ff"
        android:text="First"
        android:visibility="gone"
        android:textSize="26sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/txt_body"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/txt_body"
        android:layout_width="0dp"
        android:background="#f0f"
        android:layout_height="wrap_content"
        android:text="Elastic Body"
        android:textSize="26sp"

        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/txt_tail"
        app:layout_constraintStart_toEndOf="@+id/txt_first"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/txt_tail"
        android:background="#ff0"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Tail"
        android:textSize="26sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/txt_body"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

(注意,如果你删除它gone,你将获得第一个图像视图).为什么会这样?我怎么能解决它在我First离开的地方,我可以Elastic Body伸展正确吗?

p/s:我知道如何在LinearLayout和RelativeLayout中做到这一点......但是想知道这是否是对ConstraintLayout的限制?

android android-layout android-constraintlayout

23
推荐指数
4
解决办法
2万
查看次数

处理视图可见性更改而不覆盖视图

有没有办法处理视图可见性更改(例如,从GONE到VISIBLE)而不覆盖视图?

有点像View.setOnVisibilityChangeListener();

android

15
推荐指数
2
解决办法
2万
查看次数