RecyclerView не отображается во фрагменте нижнего листа
У меня есть один фрагмент нижнего листа, который содержит один заголовок, один подзаголовок и одно представление переработчика, чтобы показать какое-то предложение. Ниже представлен макет.
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/root_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="10dp"
android:paddingRight="10dp">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="22dp"
android:layout_marginTop="26dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/icon_back_arrow" />
<TextView
android:id="@+id/header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="26dp"
android:text="header"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/offer_sub_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center"
android:text=" sub title offer"
android:textSize="16sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/header" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="40dp"
app:layout_constraintBottom_toTopOf="@id/space"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/offer_sub_title" />
</androidx.constraintlayout.widget.ConstraintLayout>
Здесь мой вид ресайклера не виден. Я установил
android:layout_height
как 0dp. Если я изменю его на
wrap_content
, вид ресайклера виден, но перекрывается с подзаголовком.
1 ответ
Эй! У меня такая же проблема. Похоже на ошибку между ConstraintLayout и BottomSheet.
Мое решение - использовать LinearLayout вместо ConstraintLayout. Мой код:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical">
<TextView
enter code here`android:id="@+id/category_current_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/half_margin"
android:paddingBottom="@dimen/half_margin"
android:text="@string/category_label_str"
android:textAlignment="center"
android:textSize="@dimen/main_text_size"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/categories_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="@dimen/main_margin"
android:layout_marginEnd="@dimen/main_margin"
tools:listitem="@layout/category_item" />
</LinearLayout>