#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"
В свой Линейный Макет, содержащий Виды Вторичной Переработки.