У меня есть TextView внутри ConstraintLayout (CL), который находится внутри CardView (CV). CL является единственным элементом внутри CV, а внутри CL есть несколько разных ImageViews и TextViews.
Текст и изображения заполняются программно через RecyclerViewAdapter и ViewHolder. Когда текст в последнем TextView становится достаточно длинным, в верхней части представления карты начинает появляться отступ.
Макет xml с тестовой строкой:
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView 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:id="@+id/viewStopScheduleItem_cardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="1dp"
android:clickable="true"
android:focusable="true"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="0dp"
app:cardElevation="4dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/viewStopScheduleItem_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp">
<ImageView
android:id="@+id/viewStopScheduleItem_barImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@android:drawable/status_bar_item_background"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="0dp"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="8dp" />
<ImageView
android:id="@+id/viewStopScheduleItem_busImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_directions_bus_white"
app:layout_constraintLeft_toRightOf="@+id/viewStopScheduleItem_barImageView"
android:layout_marginLeft="8dp"
app:layout_constraintTop_toTopOf="@+id/viewStopScheduleItem_barImageView"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toBottomOf="@+id/viewStopScheduleItem_barImageView"
android:layout_marginBottom="8dp" />
<TextView
android:id="@+id/viewStopScheduleItem_routeShortNameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
app:layout_constraintTop_toTopOf="@+id/viewStopScheduleItem_routeLongNameTextView"
android:layout_marginTop="0dp"
app:layout_constraintLeft_toRightOf="@+id/viewStopScheduleItem_routeLongNameTextView"
android:layout_marginLeft="8dp" />
<TextView
android:id="@+id/viewStopScheduleItem_routeLongNameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
app:layout_constraintLeft_toRightOf="@+id/viewStopScheduleItem_busImageView"
android:layout_marginLeft="8dp"
app:layout_constraintTop_toTopOf="@+id/viewStopScheduleItem_barImageView"
android:layout_marginTop="8dp" />
<TextView
android:id="@+id/viewStopScheduleItem_stopTime1TextView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM 1:29 PM"
android:textAlignment="viewStart"
android:layout_gravity="start"
app:layout_constraintLeft_toRightOf="@+id/viewStopScheduleItem_busImageView"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/viewStopScheduleItem_routeLongNameTextView"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
Чем длиннее становится строка, тем больше появляется отступов.
Что я пробовал:
- Установка отступов и полей CV и CL на ноль,
- Возиться свысота всех элементов и чем меньше высота текстового представления, тем меньше становится отступ, но тогда полная строка не видна.
- Установка высоты представлений и макетов равными match_parent и wrap_content безуспешно.
- Установка силы тяжести CV и CL для начала и начала.
Итак, как мне избавиться от отступов?
Я прикрепил скриншоты
Длинная строка, вызывающая заполнение
![Long string causing padding](https://i.stack.imgur.com/e72Sj.jpg)
Короткая строка без подкладки
![Short String without padding](https://i.stack.imgur.com/0au2E.jpg)