【问题标题】:Removing space between recyclerview items删除 recyclerview 项目之间的空间
【发布时间】:2021-10-11 15:21:30
【问题描述】:

我四处搜索,他们都提到将layout_height 更改为wrap_content,但我的已经在wrap_content 中。我真的无法识别任何错误。欢迎任何帮助。提前致谢!

Screenshot of problem

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context="com.fyp.ipptapp.UI.StandardFragment">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <LinearLayout
        android:id="@+id/test"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="15dp"
                android:text="Age" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="15dp"
                android:text="Gender" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <Spinner
                android:id="@+id/spinner_Age"
                android:layout_width="wrap_content"
                android:layout_height="36dp"
                android:layout_margin="5dp"
                android:dropDownWidth="50dp" />

            <Spinner
                android:id="@+id/spinner_Gender"
                android:layout_width="wrap_content"
                android:layout_height="36dp"
                android:layout_margin="5dp"
                android:dropDownWidth="50dp" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="15dp"
                android:text="Voc" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:padding="15dp"
                android:text="Pop Gp" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <Spinner
                android:id="@+id/spinner_Voc"
                android:layout_width="wrap_content"
                android:layout_height="36dp"
                android:layout_margin="5dp"
                android:dropDownWidth="200dp" />

            <Spinner
                android:id="@+id/spinner_PopGp"
                android:layout_width="wrap_content"
                android:layout_height="36dp"
                android:layout_margin="5dp"
                android:dropDownWidth="120dp" />

        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/test"
        android:orientation="horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="15dp"
            android:text="Exemption" />

        <CheckBox
            android:id="@+id/pushUp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Push Up" />

        <CheckBox
            android:id="@+id/sitUp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Sit Up" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/linearLayout2">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/linearLayout2" />

    </LinearLayout>
</RelativeLayout>

【问题讨论】:

  • 这是你的项目布局(recyclerview)吗?我想不是。我建议转到项目的布局并在其上使用 wrap_content,确保添加 wrap_content 并确保每个视图的高度、宽度、填充和边距都正确设置。
  • 在您的 recyclerView item.xml 中将其设为 wrap_content
  • 发布您的适配器 xml 代码
  • 向您发布适配器 item.xml

标签: android android-recyclerview


【解决方案1】:

在您的适配器 xml 父布局高度可能设置为 match_parent。检查一次

【讨论】:

    【解决方案2】:

    在您的 item.xml(或您在回收站中拥有每个项目的结构的地方)检查 android:layout_width="wrap_content"android:layout_height="wrap_content" 是否像这样。

    类似这样的:

    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        xmlns:app="http://schemas.android.com/apk/res-auto">
    

    这将根据项目内的内容设置高度和宽度。 希望这有帮助!

    【讨论】:

      【解决方案3】:

      给你的布局一些上边距。

              <android.support.v7.widget.RecyclerView
                  android:id="@+id/recyclerView"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_below="@+id/linearLayout2" />
      
          </LinearLayout>
      

      【讨论】:

        【解决方案4】:

        您正在寻找错误的 xml 文件,请在项目 xml 中添加您在 Adapter 使用的那个,而不是 RecyclerView 一个

        【讨论】:

          【解决方案5】:

          我认为@MinnuKaAnae 已经回答了这个问题,但我仍然想使用一些布局 UI 来显示答案。我模拟了我这边的问题。

          显然楼主提供了错误的布局文件,我们需要item布局。

          【讨论】: