Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Remove spacing between items in RecyclerView android

Tags:

I am using a RecyclerView to show a List of Items and I need to remove the default spacing between Items. I'm trying to set a RecyclerView.LayoutParams and set margins to zero on my LinearLayoutManager but didn't work!

Here is my code:

layout/fragment_recycler.xml

   <android.support.v4.widget.SwipeRefreshLayout         android:id="@+id/freshSwipeView"         android:layout_width="match_parent"         android:layout_height="match_parent">          <android.support.v7.widget.RecyclerView             android:id="@+id/freshRecyclerView"             android:layout_width="match_parent"             android:layout_height="match_parent"             android:scrollbars="vertical" />     </android.support.v4.widget.SwipeRefreshLayout> 

layout/cardview_recycler.xml

<android.support.v7.widget.CardView     android:id="@+id/card_view"     android:layout_width="match_parent"     android:layout_height="match_parent">      <LinearLayout         android:id="@+id/content"         android:layout_width="match_parent"         android:layout_height="match_parent"         android:orientation="horizontal">          <mypackagename.ui.view.RecyclingImageView             android:id="@+id/avatar"             android:layout_width="match_parent"             android:layout_height="wrap_content"             android:scaleType="fitXY"             android:adjustViewBounds="true"             android:src="@drawable/img_no_avatar" />          <TextView             android:id="@+id/username"             android:layout_width="match_parent"             android:layout_height="wrap_content"             android:gravity="center_vertical"             android:singleLine="true"             android:ellipsize="end"             android:padding="@dimen/spacing"             android:textColor="@color/black"             android:layout_alignParentBottom="true"             android:textSize="@dimen/text_smallest" />     </LinearLayout> </android.support.v7.widget.CardView> 

RecyclerFragment.java

    /* Setting Layout Manager */     mLayoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);     RecyclerView.LayoutParams params = new RecyclerView.LayoutParams(RecyclerView.LayoutParams.MATCH_PARENT, RecyclerView.LayoutParams.WRAP_CONTENT);     params.setMargins(0, 0, 0, 0);     mLayoutManager.canScrollVertically();     mRecyclerView.setLayoutManager(mLayoutManager); 

I need help...

like image 900
fvasquezjatar Avatar asked Nov 21 '14 20:11

fvasquezjatar


People also ask

What is adapter in RecyclerView?

Adapters provide a binding from an app-specific data set to views that are displayed within a RecyclerView . Parameters. <VH extends RecyclerView.ViewHolder> A class that extends ViewHolder that will be used by the adapter.

When to use a RecyclerView?

RecyclerView is powerful when you need to customize your list or you want better animations. Those convenience methods in ListView caused a lot of trouble to people which is why RecyclerView provides a more flexible solution to them. The major change you need to make for migration is in your adapter.


1 Answers

just remove the cardview in your layout/cardview_recycler.xml, android puts that spacing that you don't want

<LinearLayout     android:id="@+id/content"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:orientation="horizontal">      <mypackagename.ui.view.RecyclingImageView         android:id="@+id/avatar"         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:scaleType="fitXY"         android:adjustViewBounds="true"         android:src="@drawable/img_no_avatar" />      <TextView         android:id="@+id/username"         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:gravity="center_vertical"         android:singleLine="true"         android:ellipsize="end"         android:padding="@dimen/spacing"         android:textColor="@color/black"         android:layout_alignParentBottom="true"         android:textSize="@dimen/text_smallest" /> </LinearLayout> 

everything else stays as it is

like image 78
fuelusumar Avatar answered Sep 20 '22 16:09

fuelusumar