viewholder studio seleccionar recyclerview propiedades item eventos eliminar elemento ejemplo android android-layout android-recyclerview android-scrollbar

android - studio - recyclerview seleccionar item



La barra de desplazamiento no se muestra en RecyclerView (10)

Tengo un RecyclerView y me gustaría que se muestre la barra de desplazamiento, cuando cubre más de una página.

No obtengo ninguna barra de desplazamiento en absoluto. ¿Alguna idea?

Mi diseño:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <CheckBox android:id="@+id/cl_only_empty" android:layout_width="match_parent" android:layout_height="wrap_content" android:elevation="5dp" android:text="@string/cl_only_empty" android:textColor="@color/white" /> <android.support.v7.widget.RecyclerView android:id="@+id/callsList" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" /> </LinearLayout>


Además del atributo android: scrollbars, debes agregar el atributo android: fadeScrollbars en un estado falso como este:

<android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" android:fadeScrollbars="false"/>

De esta forma, la barra de desplazamiento vertical siempre se muestra cuando se usa más altura del diseño permitido.


Agregue el código a Recycler view xml para hacer visible la barra de desplazamiento.

<android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:fadeScrollbars="false" android:scrollbars="vertical" android:scrollbarSize="@dimen/_2sdp" android:scrollbarThumbVertical="@color/white"/>


La solución es establecer la barra de desplazamiento vertical (u horizontal) en el diseño xml:

<android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" />


Prueba esto:

mLayoutManager = new LinearLayoutManager (this); mLayoutManager.setSmoothScrollbarEnabled (true);



Si puede establecer ScrollBar mediante programación, puede usar ContextThemeWrapper . Primero necesita definir el estilo en el archivo Style.xml:

<style name="ScrollbarRecyclerView" parent="android:Widget"> <item name="android:scrollbars">vertical</item> </style>

Y luego aplique el estilo cuando inicialice su RecylerView:

RecyclerView recyclerView = new RecyclerView(new ContextThemeWrapper(context, R.style.ScrollbarRecyclerView));


Tenía el mismo problema en mi viejo HTC Desire X (api 16) solamente.
No sé por qué, pero las scollbars de RecyclerView no funcionan correctamente en este dispositivo si la propiedad android:background no está configurada. Intenta configurarlo de cualquier color o transparente; me funciona, espero que te ayude también


Use android: scrollbars atribuye "vertical" y android: scrollbarThumbVertical attribute para establecer el color y android: scrollbarSize attribute para especificar el tamaño:

<android.support.v7.widget.RecyclerView android:id="@+id/document_listview" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="3dp" android:layout_marginTop="3dp" android:scrollbars="vertical" android:scrollbarThumbVertical="@android:color/darker_gray" android:scrollbarSize="5dp" android:background="@color/activity_bg" android:dividerHeight="4dp" />


solo necesito poner el RecyclerView en un ScrollView como este:

<ScrollView android:id="@+id/scroll" android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="horizontal" /> </ScrollView>


use recyclerView como se muestra a continuación en el diseño xml

<android.support.v7.widget.RecyclerView android:id="@+id/recyclerView" android:scrollbars="vertical" android:fadeScrollbars="true" android:layout_width="match_parent" android:layout_height="match_parent" />

y agregue el siguiente código para scrollview en java, estará bien

RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.recyclerView); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false)); recyclerView.setHasFixedSize(true);