Удаление интервалов между элементами в RecyclerView android



Я использую RecyclerView, чтобы показать список элементов, и мне нужно удалить интервал по умолчанию между элементами. Я пытаюсь установить RecyclerView.LayoutParams и установить поля в ноль на моем LinearLayoutManager, но не работает!



Вот мой код:



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>


Макет / 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>


Рециклерфрагмент.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);


Мне нужна помощь...

749   5  

5 ответов:

Просто удалите cardview в вашем макете/cardview_recycler.xml , android помещает тот интервал, который вам не нужен

<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: layout_height = wrap_content вместо match_parent к корневому макету элемента

<android.support.v7.widget.CardView
        android:id="@+id/card_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
       -------
       -------
</android.support.v7.widget.CardView>

Удалить строку setVisibiilty(gone)

После удаления он работает отлично .

В моем случае ниже код работал

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

Попробуйте использовать cardElevation=0dp хиллингдон. Это должно устранить дополнительное расстояние между элементами recyclerview.

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_marginRight="2dp"
   android:layout_marginEnd="2dp"
   app:cardElevation="0dp">

  <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 />

Comments

    Ничего не найдено.