ListView.builder no se superpone en Stack en Flutter
He estado utilizando ListView.builder
en Stack
. Pero los contenedores redondeados no se superponen entre sí. ¿Cómo puedo superponerlos? He adjuntado el código y la captura de pantalla de la salida también.
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class Emniii extends StatelessWidget {
const Emniii({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
height: 30,
width: MediaQuery.of(context).size.width,
margin: EdgeInsets.only(top: 10),
child: Center(
child: Stack(
children: [
ListView.builder(
itemCount: 13,
shrinkWrap: true,
scrollDirection: Axis.horizontal,
itemBuilder: (_, index) {
return Container(
height: 30,
width: 30,
decoration: BoxDecoration(
color: Colors.black,
borderRadius: BorderRadius.circular(15),
),
);
}),
],
),
),
),
);
}
}
Salida actual
Lo que espero
davy.ai
Puedes lograr el efecto de superposición deseado utilizando el widget
Positioned
dentro delStack
para cada elemento individual deListView.builder
. Aquí está el código modificado:Aquí, reemplazamos el
ListView.builder
con un métodoList.generate
que creará contenedoresPositioned
para cada elemento, establecerá sus posiciones con la propiedadleft
y luego devolverá unaList
de estos contenedores para mostrarlos dentro delStack
.Esto nos dará el efecto de superposición deseado como se muestra en la segunda imagen.