Линейное отображение с двумя видами вторичной переработки, не разделяющими пространство в соответствии с данными строк

#android #android-recyclerview

Вопрос:

Я пытаюсь создать 2 вида переработчика в LinearLayout. RecyclerView 1 должен быть исправлен, и он не должен нажимать на RecyclerView 2, чтобы добиться этого, я добавил параметр android:layout_weight="1" как в RecyclerView 1, так и в 2. Но я обнаружил проблему, когда в RecyclerView 2 меньше элементов, внизу отображаются пробелы. Есть ли в любом случае возможность изменить размер RecyclerView 1 и 2 на основе содержимого/строки, когда на экране видны как RecyclerView 1, так и 2.

введите описание изображения здесь

Редактировать

Мой существующий файл макета

 <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <androidx.recyclerview.widget.RecyclerView
            android:id="@ id/rv1"
            android:scrollbars="vertical"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_marginTop="@dimen/_5sdp"
            android:layout_weight="1"
            android:paddingStart="@dimen/_16sdp" />
        <androidx.recyclerview.widget.RecyclerView
            android:id="@ id/rv2"
            android:scrollbars="vertical"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_marginTop="@dimen/_5sdp"
            android:layout_weight="1"

            android:paddingStart="@dimen/_16sdp" />
    </LinearLayout>
 

Файл компоновки строк

 <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <TextView xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@ id/rowtitle"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp"
            android:layout_marginEnd="10dp"
            
            android:paddingStart="@dimen/_10sdp"
            android:paddingEnd="@dimen/_10sdp"
            android:textColor="@color/white"
            android:textSize="@dimen/_10sdp" />

    </LinearLayout>
 

Комментарии:

1. Установите ширину окна просмотра вторсырья в значение wrapContent . Также поделитесь xml для лучшего понимания .

2. Попробуйте изменить высоту на wrarpContent для rv2, чтобы он свернулся .

3. @KaruneshPalekar Я попытался указать высоту rv2 в качестве wrap_content и удалил layout_weight, это работает частично, если в rv2 больше данных, он расширяется, а rv1 не виден?

4. Можете ли вы поделиться визуальными эффектами одного и того же

Ответ №1:

Добавьте android:weightSum="2" В свой Линейный Макет, содержащий Виды Вторичной Переработки.