¿Cómo usar RecyclerView de acuerdo con la pantalla del dispositivo?
Tengo un extremo del API del backend que devuelve JSON
en algunos sistemas. Cada conjunto contiene 10 lines of Json
.
Por ejemplo: curl http://www.something.com?getData=0
dará los first 10 elements
y curl http://www.something.com?getData=1
volverá al siguiente conjunto y así sucesivamente.
- ¿Cómo prevenir el bloqueo automático de pantalla en android por código?
- Xxhdpi densidad añadido en API 16, lo que en <16 si sólo proporcionar recursos xxhdpi?
- Selección de recursos de Android y valores e inconsistencias
- Creación de la aplicación de soporte para varias pantallas Android
- ¿Cómo saber el ancho más pequeño (sw) del dispositivo android?
Estoy utilizando RecyclerView
y StaggeredGridView
para cargar datos de endpoints
dados. En este momento sólo busco el primer set y funciona perfectamente.
¿Qué estoy buscando?
¿Cómo puedo cargar datos en RecyclerView
según los tamaños de pantalla en Android
. Por ejemplo:
Digamos que el dispositivo hdpi
puede cargar 25 staggeredGridView
en RecyclerView
. Entonces, aquí los endpoints
solicitan en secuencia:
http://www.something.com?getData=0 // will fetch 0-10 http://www.something.com?getData=10 // will fetch 11-20 http://www.something.com?getData=10&skip=5 // will fetch 21-25
¿Cómo puedo hacer que el proceso anterior sea dinámico. ¿Para que funcione para todos los tamaños de pantalla?
BTW esto es cómo estoy cargando los datos en el adaptador StaggeredGridView
:
mRecyclerView = (RecyclerView) mActivity.findViewById(R.id.staggering_grid); mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)); mAdapter = new StaggeredGridAdapter(mContext); mAdapter.addItems(response); mRecyclerView.setAdapter(mAdapter);
Solución posible
- Si tengo que saber que Cuánto
Grid
necesito llenar de acuerdo al dispositivo entonces puedo simplemente hacer una solicitud hasta que consiga los datos para llenar el número esperado. - También puedo usar el
Event Bus
para enviar notificaciones aRetrofit
para hacer otra llamada hasta que la pantalla del dispositivo esté llena.
¿Es un buen enfoque? En caso afirmativo, ¿cómo puedo lograrlo?
- ¿Cuál es el ancho de pantalla más pequeño posible en Android?
- ¿De dónde hace el meta de android.max_aspect hacer la diferencia?
- Densidades y tamaños en tablets android
- Android no está recolectando el archivo derecha dimens.xml de la carpeta de valores
- Resoluciones de pantalla de Android
- ¿Necesito 14 diseños diferentes para admitir todos los dispositivos Android?
- Limites de manifiesto de las tabletas, pero la aplicación aún está disponible para Samsung Galaxy S2
- Tamaños desplegables para diferentes tamaños de pantalla en android
Lo que puede hacer es cargar datos en exceso decir 50 a la vez en lugar de 10, de esa manera usted tiene suficientes datos para llenar toda la pantalla, si su api sólo le permite obtener 10 elementos por solicitud, a continuación, disparar múltiples solicitudes de diferentes hilos Y agregarlos al adaptador y actualizar la vista una vez que todas las solicitudes se hayan realizado correctamente. Así que de esta manera usted no será necesario para solicitar todos los elementos y tienen suficientes elementos para mostrar en cualquier configuración de la pantalla del dispositivo
- El desplazamiento de la lista de vista de marshmallow de Android se vuelve borroso
- ¿Cómo implementar Google StreetView con Google CardBoard SDK?