Я хочу отобразить 3 квадрата одинаковых размеров, используя ConstraintLayout. Размер квадрата должен составлять 1/3 высоты экрана. Я хотел бы знать, как это сделать с помощью ConstraintLayout.
Я начал с этого кода:
<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">
<View
android:id="@+id/view1"
android:layout_width="wrap_content"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@+id/view2"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintVertical_chainStyle="spread"
android:background="#ff0000" />
<View
android:id="@+id/view2"
android:layout_width="wrap_content"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@id/view1"
app:layout_constraintBottom_toTopOf="@+id/view3"
app:layout_constraintLeft_toLeftOf="parent"
android:background="#00ff00" />
<View
android:id="@+id/view3"
android:layout_width="wrap_content"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@id/view2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:background="#0000ff" />
</android.support.constraint.ConstraintLayout>
С помощью этого кода я получаю желаемую высоту, но я хочу использовать функцию ConstraintLayout Ratio, чтобы ограничить ширину до 1: 1.
Я пробовал с этим кодом:
<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">
<View
android:id="@+id/view1"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@+id/view2"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintVertical_chainStyle="spread"
app:layout_constraintDimensionRatio="W,1:1"
android:background="#ff0000" />
<View
android:id="@+id/view2"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@id/view1"
app:layout_constraintBottom_toTopOf="@+id/view3"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintDimensionRatio="W,1:1"
android:background="#00ff00" />
<View
android:id="@+id/view3"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@id/view2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintDimensionRatio="W,1:1"
android:background="#0000ff" />
</android.support.constraint.ConstraintLayout>
Как я могу исправить эти ограничения и правильно отобразить 3 квадрата одинакового размера? Я хочу использовать только функции ConstraintLayout, если это возможно.
Спасибо