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.

El efecto de ondulación de la vista de lista en Flutter no funciona.

Tengo un ListView en el contenedor AlertDialog. Hay un método InkWell pero el efecto de ondulación no funciona y no puedo poner el separador. ¿Cómo puedo poner el separador y tener el efecto de ondulación?

Widget setupAlertDialoadContainer(context) {
  return Container(
    color: Colors.white,
    height: 300.0,
    width: 300.0,
    child: ListView.builder(
      itemCount: showroomModel.length,
      itemBuilder: (BuildContext context, int index) {
        return InkWell(
          onTap: () => {
            print(showroomModel[index]),
          },
          child: ListTile(
            title: Text(showroomModel[index]),
          ),
        );
      }
    ),
  );
}
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para agregar un separador a tu ListView y tener un efecto de ondulación cuando el usuario toque un elemento, puedes envolver tu ListTile con el widget Ink y establecer la propiedad onTap en el widget Ink en lugar del ListTile. Además, puedes usar el widget Divider para agregar un separador entre elementos.

    Aquí está el código modificado:

    Widget setupAlertDialoadContainer(context) {
      return Container(
        color: Colors.white,
        height: 300.0,
        width: 300.0,
        child: ListView.separated(
            separatorBuilder: (BuildContext context, int index) => Divider(),
            itemCount: showroomModel.length,
            itemBuilder: (BuildContext context, int index) {
              return Ink(
                color: Colors.transparent,
                child: ListTile(
                  title: Text(showroomModel[index]),
                  onTap: () => {
                    print(showroomModel[index]),
                  },
                ),
              );
            }),
      );
    }
    

    En este código modificado, hemos agregado la propiedad separatorBuilder al widget ListView.separated para agregar un Divider entre elementos. También envolvimos el ListTile con el widget Ink y establecimos la propiedad onTap en el widget Ink en lugar del ListTile. Finalmente, establecimos la propiedad color del widget Ink en Colors.transparent para dar la apariencia de ser invisible mientras aún permite el efecto de ondulación.

Comments are closed.