Teraz jest to możliwe z klasą Barrier, wprowadzoną w szablonie ograniczeń v1.1.0.
Więc oto rozwiązanie dla konkretnego przypadku:
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.eugene.test10.MainActivity">
<TextView
android:id="@+id/textView1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="#EEEEEE"
android:text="TEXT_VIEW_1"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintRight_toLeftOf="@+id/textView2"/>
<TextView
android:id="@+id/textView2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="#DDDDDD"
android:text="TEXT_VIEW_2"
android:visibility="gone"
app:layout_constraintLeft_toRightOf="@+id/textView1"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<android.support.constraint.Barrier
android:id="@+id/labelBarrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="textView1,textView2" />
<TextView
android:id="@+id/textView3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="#CCCC00"
android:text="TEXT_VIEW_3"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/labelBarrier" />
</android.support.constraint.ConstraintLayout>
wyniki Here're korzystania z tego układu:
Można odwołać ten przewodnik krok po kroku na Codelab https://codelabs.developers.google.com/codelabs/constraint-layout/#10.
Chciałbym usłyszeć inną odpowiedź, ale afaik to nie jest możliwe. – F43nd1r
Interesujące, ale nie wygląda to możliwe tylko poprzez XML. Nie chcesz zagnieżdżonych widoków, ale jeśli jesteś otwarty na programową manipulację , możesz skorzystać z [ConstraintSet] (https://developer.android.com/reference/android/support/constraint/ConstraintSet.html). – Cheticamp
Dlaczego zagnieżdżanie ConstraintLayout jest wyłącznikiem umowy? –