ReyclerView项目列出了项目之间的巨大差距

时间:2019-07-14 19:34:51

标签: android xml android-layout android-recyclerview

我已经创建了一个recyclerview布局。我还创建了一个相对布局,以用作回收站视图的项目。但是,recyclerview列表中的每个项目之间只有一个屏幕的间隙。

我试图将约束和布局更改为均匀。

这是相对布局的XML文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res  /android"
android:layout_width="match_parent" android:layout_height="match_parent">

<TextView
    android:id="@+id/DescriptionTextr"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Chore:"
    android:textSize="18sp" />

<TextView
    android:id="@+id/description_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="13dp"
    android:layout_toEndOf="@+id/DescriptionTextr"
    android:text="TextView"
    android:textSize="18sp" />

<TextView
    android:id="@+id/choretime"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/DescriptionTextr"
    android:layout_marginTop="12dp"
    android:text="Length to do chore:" />

<TextView
    android:id="@+id/length_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/description_text"
    android:layout_marginStart="13dp"
    android:layout_marginTop="13dp"
    android:layout_toEndOf="@+id/choretime"
    android:text="TextView" />

这是android设备上的输出:

enter image description here

2 个答案:

答案 0 :(得分:1)

在适配器布局的根目录中,确保要应用:

  • layout_height="wrap_content"用于垂直RecycleView;
  • layout_width="wrap_content"用于水平RecycleView;

如果您的适配器布局有一个match_parent,则视图将具有RecycleView的大小。

示例:

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

   ....
</RelativeLayout>

答案 1 :(得分:0)

请尝试将layout_height更改为wrap_content。

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" 
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/DescriptionTextr"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Chore:"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/description_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="13dp"
        android:layout_toEndOf="@+id/DescriptionTextr"
        android:text="TextView"
        android:textSize="18sp" />

    <TextView
        android:id="@+id/choretime"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/DescriptionTextr"
        android:layout_marginTop="12dp"
        android:text="Length to do chore:" />

    <TextView
        android:id="@+id/length_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/description_text"
        android:layout_marginStart="13dp"
        android:layout_marginTop="13dp"
        android:layout_toEndOf="@+id/choretime"
        android:text="TextView" />

</RelativeLayout>

或者如果您希望项目之间有一点距离,则可以使用一些填充/边距来提供一些静态高度或wrap_content。

这应该可以解决您的问题。现在,由于它是match_parent,所以每个项目都占据了屏幕的高度。