Android solo estableceStackFromEnd solo si RecycleView / List es más grande que la pantalla

Tengo un RecyclerView que quiero comenzar a mostrar los elementos inferiores, así que estoy usando: myLayoutManager.setStackFromEnd(true) .

Funciona exactamente como quiero cuando hay suficientes elementos para llenar la pantalla, pero si solo hay unos pocos elementos en el RecyclerView, los empuja hacia abajo y deja espacio vacío en la parte superior de la pantalla.

¿Hay alguna forma de prevenir esto, o solo setStackFromEnd si el RecyclerView es más grande que la altura de la pantalla?

Aquí hay un ejemplo de lo que obtengo y lo que trato de get:

Lo que consigo Lo que quiero

Según su descripción, asumo que ha configurado la altura de RecyclerView como match_parent .

Entonces, debido a esto, lo que estás viendo es solo el comportamiento habitual. Cuando setStackFromEnd no se establece en true , su RecyclerView rellena sus vistas desde la parte superior (como se muestra en la image). Sin embargo, cuando configura la stack desde el final, se produce el comportamiento opuesto. Y, por lo tanto, ves el espacio vacío en la parte superior.

Para eliminar el espacio vacío, le sugiero que configure su altura de layout de RecyclerView en wrap_content . wrap_content se introdujo para RecyclerView en Android Support Library 23.2 . Debido a esto, su layout de RecyclerView solo ocuparía el espacio que necesita de acuerdo con el número de vistas secundarias.

Además, dependiendo de lo que esté tratando de lograr, también podría considerar setReverseLayout(true) . ¡Espero que esto ayude!

  • extensiones kotlin-android en ViewHolder
  • Kotlin: esperando la statement de un miembro
  • RecyclerView: implementa correctamente la eliminación de SnackBar UNDO (Kotlin)
  • ¿Cómo cambiar el color de background de una vista de carta cuando se selecciona?
  • kotlin, android, fragment, vacío, reciclador, vista, después, espalda
  • Android - Kotlin: el object debe declararse abstracto o implementar miembro abstracto
  • Cómo integrar Admob Native Advanced Ads usando Kotlin - Android
  • SortedList IndexOutBoundsException: Inconsistencia detectada. La position del artículo no es válida al eliminar el último elemento
  • My RecyclerView no se notifica adecuadamente
  • La vista de reciclador no se infló. Obteniendo el error "Sin adaptador conectado, omitiendo el layout"
  • ¿Cómo agregar un oyente Onclick en un RecyclerView en Android Studio con Kotlin?