Nuestro grupo especializado luego de varios días de investigación y de juntar de información, dieron con la respuesta, nuestro deseo es que todo este artículo sea de utilidad en tu proyecto.
Solución:
Agregar shrinkWrap: true
en listView.builder
& Retire la parte superior Container
o reemplazarlo con Column
.
agregando shrinkWrap: true, physics: ScrollPhysics(),
dentro de listview.builder, en este caso, listview.builder necesita un padre expandido. los physics: ScrollPhysics()
le permitirá mantener su estado sin volver a los primeros elementos. Además, puedes usar physics: NeverScrollableScrollPhysics()
si no desea que el usuario desplace listview.builder.
Quiero que mi pantalla sea desplazable, así que pongo todo en una vista de lista.
Creo que deberías usar un CustomScrollView con astillas en su lugar.
Si es la primera vez que escuchas acerca de los slivers, o si te dan un poco de miedo, te sugiero que leas este excelente artículo escrito por Emily Fortuna.
En tu caso, yo haría algo como esto:
return CustomScrollView(
slivers: [
SliverToBoxAdapter(
// Put here all widgets that are not slivers.
child: Container(),
),
// Replace your ListView.builder with this:
SliverList(
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index)
return ListTile();
,
),
),
],
);
Finalizando este artículo puedes encontrar las interpretaciones de otros usuarios, tú además tienes la opción de insertar el tuyo si te gusta.