Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

RecyclerView items with very large empty space at bottom after updating to support library 23.2.1 [duplicate]

I have updated support library to 23.2.1 and after that recyclerview items are appearing with big empty space. Though I am using recyclerview and it's parent view height as WRAP_CONTENT. My App fetches 10 items data at a time from the server and while scrolling to up it shows a progressbar at the bottom so at that time(while progressbar is showing) recyclerview items are showing with very large empty space.

enter image description here

Code for xml files for fragment and adapter repectively :

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

    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clipToPadding="false"
        android:paddingTop="?attr/actionBarSize"
        android:scrollbars="vertical"
        android:id="@+id/recycler_view"/>

    <include layout="@layout/date_picker_layout"
        android:id="@+id/date"
        android:layout_height="?attr/actionBarSize"
        android:layout_width="match_parent"/>

    <LinearLayout
        android:layout_width="@dimen/sort_view_width"
        android:layout_height="@dimen/sort_view_height"
        android:visibility="gone"
        android:id="@+id/sort_layout"
        android:background="@drawable/date_picker_selector"
        android:baselineAligned="false"
        android:weightSum="2"
        android:orientation="horizontal"
        android:divider="@drawable/vertical_divider"
        android:layout_gravity="center"
        android:gravity="center"
        android:showDividers="middle"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginRight="@dimen/margin_large"
        android:layout_marginBottom="@dimen/margin_large">

        <ImageView
            android:layout_width="0dp"
            android:layout_height="@dimen/button_size"
            android:layout_weight="1"
            android:padding="@dimen/margin_xxsmall"
            android:id="@+id/low_to_high"
            android:src="@drawable/ic_sort_down"/>

        <ImageView
            android:layout_width="0dp"
            android:layout_height="@dimen/button_size"
            android:layout_weight="1"
            android:padding="@dimen/margin_xxsmall"
            android:id="@+id/high_to_low"
            android:src="@drawable/ic_sort_up"/>

    </LinearLayout>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableBottom="@drawable/three_dot"
        android:visibility="gone"
        android:textSize="@dimen/textsize_medium"
        android:text="@string/coming_soon"
        android:id="@+id/no_items"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />
</RelativeLayout>

adapter.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:wheel="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/itemview">

    <ImageView
        android:id="@+id/image"
        android:layout_height="@dimen/list_image_height"
        android:layout_width="match_parent"
        android:scaleType="centerCrop"
        android:adjustViewBounds="true"/>

    <com.example.views.CircularProgressWheel
        android:layout_width="@dimen/progressbar_width"
        android:layout_height="@dimen/progressbar_height"
        android:id="@+id/progress_bar"
        android:visibility="gone"
        wheel:matProg_barColor="@color/primary"
        wheel:matProg_progressIndeterminate="true"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/gradient"
        android:layout_alignBottom="@id/image"
        android:id="@+id/relativeLayout2">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/name"
            android:id="@+id/title"
            android:textColor="@color/white"
            android:textSize="@dimen/textsize_medium"
            android:layout_toLeftOf="@+id/price"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_marginLeft="@dimen/margin_xsmall"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="@dimen/margin_xsmall"
            android:text="@string/location"
            android:id="@+id/location"
            android:textColor="@color/white"
            android:textSize="@dimen/textsize_medium"
            android:layout_below="@+id/title"
            android:layout_toLeftOf="@+id/price"
            android:layout_alignLeft="@+id/title"
            android:layout_alignStart="@+id/title" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/price"
            android:layout_marginRight="@dimen/margin_xsmall"
            android:id="@+id/price_actual"
            android:textColor="@color/white"
            android:textSize="@dimen/textsize_medium"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/price"
            android:id="@+id/price"
            android:textColor="@color/white"
            android:textSize="@dimen/textsize_medium"
            android:layout_below="@+id/title"
            android:layout_alignRight="@+id/price_actual"
            android:layout_alignEnd="@+id/price_actual" />

    </RelativeLayout>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="@dimen/margin_xxsmall"
        android:textSize="@dimen/textsize_medium"
        android:background="@drawable/cancel_button_selector"
        android:visibility="gone"
        android:textColor="@color/white"
        android:text="@string/sold_out"
        android:id="@+id/sold_out"
        android:layout_marginRight="@dimen/margin_xsmall"
        android:layout_above="@+id/relativeLayout2"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

</RelativeLayout>
like image 808
Krishna Meena Avatar asked Dec 02 '25 13:12

Krishna Meena


1 Answers

Make sure your recycler view height is set to wrap_content. 23.2 introduced wrap content functionality for RecylerView and you should have the height as wrap_content if you want your RecyclerView work as it was working before.

Quote from Android Developers Blog

Due to this change, make sure to double check the layout parameters of your item views: previously ignored layout parameters (such as MATCH_PARENT in the scroll direction) will now be fully respected.

like image 50
arsent Avatar answered Dec 05 '25 04:12

arsent



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!