Почему RecycleView уходит за границу экрана?
Ниже разметка. Все высоты элементов, кроме собственно Recycler и constraintlayout, указаны в явном виде и оставшегося места на экране должно хватать. Тем не менее, часть списка уезжает под экран. Помогите, пожалуйста.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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"
android:background="@drawable/stock_bgnd"
tools:context=".PoActivity">
<include
android:id="@+id/toolbar"
layout="@layout/action_toolbar"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvMsgPortfolio"
android:layout_width="136dp"
android:layout_height="26dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="Портфель пуст"
android:textColor="@color/light_gray"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/toolbar" />
<TextView
android:id="@+id/tvRemainingAssets"
android:layout_width="49dp"
android:layout_height="46dp"
android:gravity="center_vertical"
android:textAlignment="center"
android:textSize="20sp"
app:layout_constraintStart_toEndOf="@+id/chAddAssets"
app:layout_constraintTop_toTopOf="@+id/chAddAssets"
tools:ignore="RtlCompat" />
<com.google.android.material.chip.Chip
android:id="@+id/chDelAssets"
android:layout_width="100dp"
android:layout_height="50dp"
android:layout_marginStart="204dp"
android:text="Удалить"
android:textAlignment="center"
app:chipBackgroundColor="@color/dark_gray"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/toolbar" />
<TextView
android:id="@+id/tvSelected"
android:layout_width="182dp"
android:layout_height="44dp"
android:gravity="center_vertical"
android:text="не выбран"
android:textColor="@color/light_gray"
android:textSize="16sp"
app:layout_constraintEnd_toStartOf="@+id/chAddAssets"
app:layout_constraintHorizontal_bias="0.727"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/lvAssets" />
<com.google.android.material.chip.Chip
android:id="@+id/chAddAssets"
android:layout_width="100dp"
android:layout_height="50dp"
android:layout_marginStart="204dp"
android:text="Добавить"
android:textAlignment="center"
app:chipBackgroundColor="@color/dark_gray"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/tvSelected" />
<ListView
android:id="@+id/lvAssets"
android:layout_width="match_parent"
android:layout_height="260dp"
android:layout_marginStart="4dp"
android:layout_marginTop="0dp"
android:choiceMode="singleChoice"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/chDelAssets">
</ListView>
<TextView
android:id="@+id/tvGroupName"
android:layout_width="285dp"
android:layout_height="33dp"
android:gravity="center_vertical"
android:text="ГРУППА:"
android:textColor="@color/dark_gray"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.126"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/chAddAssets" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvLoaded"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvGroupName" />
</androidx.constraintlayout.widget.ConstraintLayout>
Ответы (1 шт):
Автор решения: Shadiev Ramzan
→ Ссылка
Чтобы установка высоты 0dp растянула виджет в каких-либо границах, а не скрыла его, нужно для начала указать эти самые границы, попробуйте дополнительно привязать RecyclerView к нижней части окна
app:layout_constraintBottom_toBottomOf="parent"/>
И затем измените высоту на 0dp
android:layout_height="0dp"