Galería QuiltView con Pull para actualizar en Android?
Estoy trabajando en una aplicación de redes sociales en android donde estaba usando QuiltViewLibrary para hacer una Galería QuiltView de imágenes.
En la misma aplicación que he utilizado el HANDMARKS Pull to Refresh biblioteca para el GridView.
- Cómo implementar "Deslizar hacia abajo para actualizar" como en la nueva aplicación de GMail
- Cómo deshabilitar la funcionalidad pulltorefresh por primera vez?
- Tire para actualizar como nueva aplicación gmail (4.5)
- Cómo desplazar un ListView en android programatically a hasta gesto hacia abajo
- Android pull-to-refresh mostrar el pie de la carga al inicio
Ambos están trabajando bien. Ahora tengo que implementar ambas bibliotecas para la tarea combinada, que es PULL TO REFRESH in QuiltView GALLERY.
El problema que tengo es combinar el XML de las dos BIBLIOTECAS que son totalmente diferentes.
XML para PullToRefresh con una simple VISTA DE GRID:
<!-- The PullToRefreshGridView replaces a standard GridView widget. --> <com.handmark.pulltorefresh.library.PullToRefreshGridView xmlns:ptr="http://schemas.android.com/apk/res-auto" android:id="@+id/pull_refresh_grid" android:layout_height="fill_parent" android:layout_width="fill_parent" android:numColumns="auto_fit" android:verticalSpacing="1dp" android:horizontalSpacing="1dp" android:columnWidth="100dp" android:stretchMode="columnWidth" android:gravity="fill" ptr:ptrMode="both" ptr:ptrDrawable="@drawable/ic_launcher" /> </LinearLayout>
XML para la Galería QuiltView:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:quilt="http://schemas.android.com/apk/res/com.tv.photos" android:id="@+id/FrameLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white" > <com.tv.photos.QuiltView android:id="@+id/quilt" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="5dip" > </com.tv.photos.QuiltView> </FrameLayout>
Por favor, hágamelo saber si alguien puede sugerirme algo.
- La aplicación arroja java.lang.StackOverflowError Excepción en la actividad
- Utilizar PullToRefreshExpandableListView en Fragmento
- Android: Tire para actualizar para GridView
- ¿Cómo puedo usar la funcionalidad pull-to-refresh en una aplicación PhoneGap sin iScroll?
- Android Lollipop - Tire para actualizar
- Xamarin Forms ListView Programatic Refresh No se detiene en Android cuando se carga la página
- Cómo implementar pull para actualizar en un ListFragment
- Android - ¿cómo puedo saber cuando gridview ha llegado al fondo?
Esto es bastante simple:
- La biblioteca pulltorfresh de Chris Banes admite
ScrollView
- La biblioteca QuiltView es sólo una extensión de
GridLayout
(no GridView ni ninguna otra clase de adaptador)
Poner una instancia de QuiltView
dentro de una instancia de PullToRefreshScrollView
. Ejemplo java , xml .
No debería ser más complicado que esto:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <com.handmark.pulltorefresh.library.PullToRefreshScrollView xmlns:ptr="http://schemas.android.com/apk/res-auto" android:id="@+id/pull_refresh_scrollview" android:layout_width="fill_parent" android:layout_height="fill_parent" > <com.tv.photos.QuiltView android:id="@+id/quilt" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="5dip" /> </com.handmark.pulltorefresh.library.PullToRefreshScrollView> </LinearLayout>
Puede continuar utilizando la biblioteca pulltorefresh de handmark y crear una vista pulltorefresh que funcione con quiltview dentro de ella. Puesto que QuiltView extiende FrameLayout, no puedes usarlo directamente en handmark's pull para actualizar, pero tienes 3 opciones delante de ti:
1. Cree una nueva clase de PullToRefreshQuiltView extendiendo la clase PullToRefreshBase.
Simplemente cree una clase extendiendo PullToRefreshBase Puede comprobar la clase PullToRefreshWebView para tener una idea de cómo hacerlo.
2. Utilice la vista de desplazamiento en la función de configuración de QuiltView
Consulte la línea 50 de este enlace Puede cambiar la vista de desplazamiento en la función de configuración a un pullToRefreshScrollView o agregar esta vista de desplazamiento a una vista de ptr.
3. Utilice RecyclerView con GridLayoutManager dentro de PullToRefresh de Handmark o Android SwipeRefreshLayout
La otra opción es usar un RecyclerView con un GridLayoutManager (Algo que se parece a GridLayoutManager Tamaño RecycleView ) dentro de pullmark de handmark o SwipeRefreshLayout de android.
Para obtener más información acerca de SwipeRefreshLayout, compruebe los documentos de Android.