Я использую Constraint Layout
в элементе списка и испытываю трудности в том, чтобы заставить его работать должным образом при компиляции кода, хотя он правильно отображается в preview pane
. Я могу использовать Relative Layout
, но все еще хочу знать, почему это не работает, потому что я сталкиваюсь с этим проблемным поведением во многих других случаях.
На рисунке ниже, как выглядит макет со всеми детьми
по желанию.
![enter image description here](https://i.stack.imgur.com/BzDnU.png)
Для ясности ниже на рисунке показаны ограничения каждого ребенка в отдельности
![enter image description here](https://i.stack.imgur.com/Qw9bu.png)
Вот как он рендерит в recycler view
:
![enter image description here](https://i.stack.imgur.com/DR4Qd.jpg)
Элемент списка прокручивается вниз:
![enter image description here](https://i.stack.imgur.com/nDvF4.jpg)
Исходный код для этого макета:
<?xml version="1.0" encoding="utf-8"?>
<layout 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.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/ic_recent_activity">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/civ_user_avatar"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:src="@color/primary"/>
<TextView
android:id="@+id/tv_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:text="TextView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/civ_user_avatar" />
<TextView
android:id="@+id/tv_candidate_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginLeft="24dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:text="TextView"
android:textAppearance="@style/TextTitle"
app:layout_constraintBottom_toTopOf="@+id/tv_candidate_email"
app:layout_constraintEnd_toStartOf="@+id/tv_status"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toEndOf="@+id/civ_user_avatar"
app:layout_constraintTop_toTopOf="@+id/civ_user_avatar" />
<TextView
android:id="@+id/tv_candidate_email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:text="TextView"
android:textAppearance="@style/TextSecondary"
app:layout_constraintEnd_toStartOf="@+id/tv_status"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@+id/tv_candidate_name"
app:layout_constraintTop_toBottomOf="@+id/tv_candidate_name" />
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:text="Assessment : "
android:textColor="@color/black"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/tv_candidate_name"
app:layout_constraintTop_toBottomOf="@+id/tv_candidate_email" />
<TextView
android:id="@+id/tv_assessment_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:text="TextView"
android:textAppearance="@style/TextTitleBold"
app:layout_constraintBottom_toBottomOf="@+id/textView7"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toEndOf="@+id/textView7"
app:layout_constraintTop_toTopOf="@+id/textView7" />
</android.support.constraint.ConstraintLayout>
</layout>
Есть ли объяснение этому поведению, чтобы я мог понять, как на самом деле работает макет ограничения?
Обновление: После удаления нижних ограничений Imageview
и textView7
макет выглядит следующим образом:
![enter image description here](https://i.stack.imgur.com/GgTvi.jpg)