如何在android中的recylerview的列表项之间给空格

时间:2018-11-15 07:35:07

标签: android android-recyclerview

this is screenshot am getting output .after first and second listitem there should be space and not occupying right side want to occupy background blue coloc

id1 and id2之间需要一些space 在下面的布局中,显示recylerview具有两个属性的项目列表,其中一个是title和listview

想要项目列表之间的空间应占据全屏显示。

  

布局文件

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

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="User Info"
        android:layout_centerInParent="true"
        android:gravity="top"/>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scrollbars="vertical"
        android:layout_marginTop="20dp"
        android:dividerHeight="10.0sp"/>

</LinearLayout>

在下面的xml中,显示了可用的项目列表,例如name,email和phone,这些都是列表中的属性

  

list.xml

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



<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="@color/colorBlue">

    <TextView
        android:id="@+id/user_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:textColor="@color/colorWhite"
        android:gravity="center"
        android:text="ID"
        android:textSize="16dp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/user_id"
        android:textColor="@color/colorWhite"/>

    <TextView
        android:id="@+id/email"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/name"
        android:textColor="@color/colorWhite" />
    <TextView
        android:id="@+id/phone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/email"
        android:textColor="@color/colorWhite" />
</LinearLayout>
</LinearLayout>

3 个答案:

答案 0 :(得分:0)

您应该使用

android:layout_weight

您可以找到有关this answer上重量的信息。只需将其调整为layout_height即可,而不是使用布局

答案 1 :(得分:0)

使用android:layout_marginBottom="20dp"到list.xml的父视图LinearLayout

答案 2 :(得分:0)

您的主要目标是突出显示特定项目。

  
      
  1. 使用分隔线
  2.   

此处为示例: https://medium.com/@szholdiyarov/how-to-add-divider-to-list-and-recycler-views-858344450401

DividerItemDecoration itemDecor = new DividerItemDecoration(getContext, HORIZONTAL);

<!--addItemDecoration to recyclerView -->

recyclerView.addItemDecoration(itemDecor);

您还可以使用itemDecor.setOrientation(VERTICAL)或通过调用方法itemDecor.setDrawable(Drawable divider)来绘制图像来改变其方向。

但是有时您需要自定义绘制分隔线的方式。例如,您可能想更改最后一个元素上的分隔线颜色,或者不为第一个元素画线。

  
      
  1. 按照建议的shreya-prajapati使用填充或边距。
  2.