如何使用RecyclerView消除屏幕底部的空白

问题描述 投票:0回答:1

我正在为RecyclerView项目使用RecyclerView和约束布局。我在RecyclerView中使用两个视图。1)ItemViewHolder2)FooterViewHolder下面是我的FooterViewHolder布局代码,

<?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"
    android:id="@+id/linearLayout3"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<TextView
    android:id="@+id/world_credits_description"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:textColor="@color/black"
    android:textSize="20sp"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toTopOf="parent"/>

    <TextView
        android:id="@+id/description_1_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="16sp"
        android:textColor="@color/black"
        android:layout_marginTop="20dp"
        app:layout_constraintTop_toBottomOf="@id/world_credits_description"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"/>
    <TextView
        android:id="@+id/description_2_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:textColor="@color/black"
        android:textSize="15sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@id/description_1_text_view"/>

    <Button
        android:id="@+id/cost_1_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="$10"
        android:layout_marginTop="20dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.226"
        app:layout_constraintHorizontal_chainStyle="spread"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/description_2_text_view" />

    <Button
        android:id="@+id/cost_2_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="$20"
        android:layout_marginTop="20dp"
        app:layout_constraintStart_toEndOf="@id/cost_1_button"
        app:layout_constraintTop_toBottomOf="@id/description_2_text_view"/>

    <Button
        android:id="@+id/cost_3_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="$30"
        android:layout_marginTop="20dp"
        app:layout_constraintStart_toEndOf="@id/cost_2_button"
        app:layout_constraintTop_toBottomOf="@id/description_2_text_view"/>
    <Button
        android:id="@+id/add_credits_button"
        android:layout_marginTop="20dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Add Credits"
        app:layout_constraintTop_toBottomOf="@id/cost_1_button"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"/>
    <ListView
        android:id="@+id/rate_category_details_list_view"
        android:layout_width="wrap_content"
        android:divider="@null"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/add_credits_button"
       />
</androidx.constraintlayout.widget.ConstraintLayout>

下面是ItemViewHolder布局的代码,

<?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"
    android:id="@+id/linearLayout2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
<TextView
    android:id="@+id/package_name_text_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@color/black"
    android:textSize="20sp"
    android:text="Package Name"
    android:layout_marginTop="20dp"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toBottomOf="@id/start_guideline"
    />
    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/start_guideline"
        android:layout_width="wrap_content"
        android:orientation="horizontal"
        android:layout_height="wrap_content"
        app:layout_constraintGuide_percent="0.05"/>
    <TextView
        android:id="@+id/subscription_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/black"
        android:textSize="14sp"
        android:layout_marginTop="10dp"
        app:layout_constraintTop_toBottomOf="@id/package_name_text_view"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"/>
    <TextView
        android:id="@+id/package_description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/black"
        android:textSize="15sp"
        android:layout_marginTop="15dp"
        app:layout_constraintTop_toBottomOf="@id/subscription_text_view"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        />


    <ImageView
        android:id="@+id/flag_1"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:scaleType="fitXY"
        android:layout_marginStart="152dp"
        android:layout_marginTop="15dp"
        app:layout_constraintHorizontal_chainStyle="spread"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/package_description" />

    <ImageView
        android:id="@+id/flag_2"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:scaleType="fitXY"
        android:layout_marginTop="15dp"
        app:layout_constraintStart_toEndOf="@id/flag_1"
        app:layout_constraintTop_toBottomOf="@id/package_description"/>
    <ImageView
        android:id="@+id/flag_3"
        android:scaleType="fitXY"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginTop="15dp"
        app:layout_constraintStart_toEndOf="@id/flag_2"
        app:layout_constraintTop_toBottomOf="@id/package_description"/>
    <ImageView
        android:id="@+id/show_multiple_countries"
        android:scaleType="fitXY"
        android:layout_width="25dp"
        android:layout_height="25dp"
        android:src="@drawable/right"
        android:layout_marginTop="24dp"
        app:layout_constraintTop_toBottomOf="@id/package_description"
        app:layout_constraintStart_toEndOf="@id/flag_3"

        />

    <TextView
        android:id="@+id/validity_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/black"
        android:textSize="25sp"
        android:layout_marginTop="20dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/flag_1"
        app:layout_constraintVertical_bias="0.028" />

    <Button
        android:id="@+id/activate_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:background="@color/nexge_blue"
        android:textColor="@color/color_white"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/validity_text_view"
        app:layout_constraintVertical_bias="0.038" />

    <View
        android:id="@+id/first_divider"
        android:layout_width="wrap_content"
        android:layout_height="1dp"
        android:layout_marginTop="15dp"
        android:background="@android:color/darker_gray"
        app:layout_constraintBottom_toBottomOf="@id/or_text_view"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/or_text_view"/>

    <TextView
        android:id="@+id/or_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Or"
        android:background="@color/white"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:padding="5dp"
        android:textSize="18sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/activate_button" />
</androidx.constraintlayout.widget.ConstraintLayout>

下面的代码用于RecyclerView,

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/show_offer_details_relative_layout"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent"
    >

    <TextView
        android:id="@+id/no_record_text_view"
        android:layout_width="wrap_content"
       android:layout_centerInParent="true"
        android:textSize="25sp"
        android:layout_height="wrap_content" />
    <ProgressBar
        android:id="@+id/progress_bar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />
    <include
        android:id="@+id/header"
        layout="@layout/header_view" />


    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/header" />

</RelativeLayout>

有时显示一两行,则在滚动一半的同时滚动。那真的很糟糕。请任何人帮助我。谢谢。

我正在为RecyclerView项目使用RecyclerView和约束布局。我在RecyclerView中使用两个视图。 1)ItemViewHolder 2)FooterViewHolder下面是我的FooterViewHolder布局代码,...

android android-studio android-recyclerview android-constraintlayout
1个回答
0
投票

将您的Recyclerview约束布局高度match_parent更改为wrap_content

© www.soinside.com 2019 - 2024. All rights reserved.