Flutter: ListTile posicionado sobre una imagen – lanza una excepción – BoxConstraints fuerza un ancho infinito.
Tengo una imagen a pantalla completa y quiero mostrar un ListTile
sobre ella, posicionado en la parte inferior de la pantalla. Sigo obteniendo la excepción BoxConstraints forces an infinite width
.
Widget build(BuildContext context) {
return Stack(
children: [
Image(
alignment: Alignment.center,
image: Image.file(File(filePath)).image,
fit: BoxFit.fill,
height: double.infinity,
width: double.infinity,
),
Container(
child: const Positioned(
bottom: 0,
child: ListTile(
leading: CircleAvatar(
backgroundImage: NetworkImage(
'https://image_sample.jpg'),
),
title: Text("Texto de ejemplo"),
subtitle: Text('@usuario1'),
),
),
),
],
);
}
La excepción obtenida es:
He intentado restringir el ListTile
utilizando ConstrainedBox
, pero sigo obteniendo la excepción. Si elimino el ListTile
y uso un widget Text simple, funciona correctamente. Entiendo que el ListTile
tiene restricciones ilimitadas, ¿entonces cómo puedo hacer que funcione?
davy.ai
El problema que estás enfrentando se debe a las restricciones sin límites del widget
ListTile
. Para resolver este problema, puedes envolver tu widgetListTile
con un widgetSizedBox
y proporcionarle una altura. Esto le dará alListTile
una altura fija y, por lo tanto, no tendrá restricciones sin límites.Aquí está el código actualizado:
En el código anterior, he envuelto el widget
ListTile
con un widgetSizedBox
y le he proporcionado una altura de 60. Puedes cambiar la altura según tus necesidades.Esto debería resolver el problema y el
ListTile
debería mostrarse en la parte inferior de la pantalla sobre la imagen de pantalla completa.