es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Flutter – no se puede desplazar hasta el final de ListView

Tengo un código como este:

dart
Column(children: [
Container(
alignment: Alignment.centerLeft,
child: IconButton(
color: theme.iconTheme.color,
icon: const Icon(Icons.arrow_back),
onPressed: () {
Navigator.pop(context);
},
),
),
Expanded(
child: ListView(
children: allOperations,
controller: listViewController,
),
),
]);

y quiero desplazarme hasta la parte inferior después de que se construya el widget.
dart
WidgetsBinding.instance?.addPostFrameCallback((_) {
listViewController.jumpTo(listViewController.position.maxScrollExtent);
});

pero no funciona. Siempre quedan alrededor de 150px para desplazarse hacia abajo.

¿Alguien ha tenido este problema?

ACTUALIZACIÓN
Quedan cierta cantidad de píxeles para desplazarse hacia abajo según el número de elementos en ListView. Por ejemplo, si tengo 20 elementos, quedará alrededor de 50px hacia abajo; si tengo 30 elementos, quedará alrededor de 80px hacia abajo.

Ejemplo del problema (supongamos que el widget ocupa toda la altura de la pantalla y, si es más alto que la pantalla, se puede desplazar):
Altura completa de ListView: 2000px
Altura de pantalla: 600px
maxScrollExtent debería ser 1400px pero es 1300px.

Tags:  , ,

Answer

Comments are closed.