Haga que el último elemento / ViewHolder en RecyclerView llene el resto de la pantalla o tenga una altura mínima
Estoy luchando con el RecyclerView. Utilizo una vista de reciclador para mostrar los detalles de mi clase de modelo.
//My model class MyModel { String name; Double latitude; Double longitude; Boolean isOnline; ... }
Dado que algunos de los valores pueden no estar presentes, uso el RecyclerView con tipos de vista personalizada (uno que representa cada valor de mi modelo).
- Convertir la altura de RecyclerView en "wrap_content" en el diseño de restricción
- ¿Cómo personalizar el Gestor de diseño de cuadrícula de la vista de reciclador?
- Ejemplo sencillo de Android RecyclerView
- Android: No se puede resolver el método 'findFirstVisibleItemPosition ()'?
- ¿Por qué RecyclerView onBindViewHolder se llama una sola vez?
//Inside my custom adapter public void setModel(T model) { //Reset values itemCount = 0; deviceOfflineViewPosition = -1; mapViewPosition = -1; //If device is offline, add device offline item if (device.isOnline() == null || !device.isOnline()) { deviceOfflineViewPosition = itemCount; itemCount++; } //Add additional items if necessary ... //Always add the map as the last item mapViewPosition = itemCount; itemCount++; notifyDataSetChanged(); } @Override public int getItemViewType(int position) { if (position == deviceOfflineViewPosition) { return ITEM_VIEW_TYPE_OFFLINE; } else if (position == mapViewPosition) { return ITEM_VIEW_TYPE_MAP; } else if (...) { //Check for other view types } }
Con el RecyclerView puedo determinar fácilmente en tiempo de ejecución qué valores están disponibles y agregar los elementos correspondientes al origen de datos RecyclerView. Simplemente el código, pero mi modelo tiene mucho más valores y tengo mucho más tipos de vista.
El último elemento en el RecyclerView es siempre un mapa y siempre está presente. Incluso si no hay valor en absoluto en mi modelo, habrá al menos un elemento, el mapa.
PROBLEMA: ¿Cómo puedo hacer que el último elemento de RecyclerView llene el espacio restante en la pantalla y también tenga un mínimo de altura. El tamaño debe ser lo que nunca valor es lager: el espacio restante o la altura mínima. Por ejemplo:
- Modelo tiene unos pocos valores, que en suma tomar hasta 100dp de una pantalla de 600dp -> mapa de altura debe ser 500dp
- Modelo tiene una gran cantidad de valores, que en suma tomar 500dp de una pantalla de 600dp -> mapa de altura debe ser un valor mínimo de 200dp
- El modelo no tiene valores -> el mapa llena toda la pantalla
- ¿Existe un reemplazo para el widget Galería con Reciclado de vistas?
- Imágenes en RecyclerView
- Cómo agregar el recyclerview al proyecto
- Android RecyclerView, el reciclaje no funciona correctamente
- Diseño de cuadrícula con vista de reciclador android
- No hay animación en el elemento RecyclerView seleccione Android
- GetChildCount () y getChildAt () devuelven cero para RecyclerView
- RecyclerView, swiping de artículos, java.lang.IllegalStateException
- No se puede reducir el espacio extra en MPAndroidChart RadarChart
- Cambiar el comportamiento indeterminado de ProgressBar.Horizontal