Saltar al contenido

Flutter gridview dentro de listview

Agradeceríamos tu ayuda para extender nuestras secciones con relación a las ciencias informáticas.

Solución:

he usado un GridView dentro de una ListViewambos son de desplazamiento vertical:

body: ListView(
  children: [
    GridView.count(
      crossAxisCount: 3,
      physics: NeverScrollableScrollPhysics(), // to disable GridView's scrolling
      shrinkWrap: true, // You won't see infinite size error
      children: [
        Container(
          height: 24,
          color: Colors.green,
        ),
        Container(
          height: 24,
          color: Colors.blue,
        ),
      ],
    ),
    // ...... other list children. 
  ],
),

Puede intentar usar listas de desplazamiento horizontal dentro de una lista de desplazamiento vertical para lograr este tipo de diseño fácilmente.

En su lista horizontal y lista vertical ponga

shrinkWrap : true

O

Envuelva las listas dentro de un widget Expandido ()

EDITAR

Así es como usé una vista de lista dentro de otra vista de lista.

                     Container ( child : 
                        ListView.builder(
                            itemBuilder: (context, subMenuIndex) {
                              return Container(
                                padding: EdgeInsets.only(left: 20.0),
                                child: sideMenuStuff.sideMenuData.elementAt(mainIndex).menu.subMenu.elementAt(subMenuIndex).subSubMenu != null
                                    ? ExpansionTile(
                                  title: Text(sideMenuStuff.sideMenuData.elementAt(mainIndex).menu.subMenu.elementAt(subMenuIndex).zero.info.title,
                                  ),
                                  children: [
                                    ListView.builder(
                                        shrinkWrap: true,
                                        itemCount: sideMenuStuff.sideMenuData.elementAt(mainIndex).menu.subMenu.elementAt(subMenuIndex).subSubMenu.length,                                     
                                        itemBuilder:
                                            (context, subSubMenuIndex) {
                                          return Container(
                                            padding: EdgeInsets.only(
                                                left: 40.0,
                                                top: 10.0,
                                                bottom: 10.0),
                                            child:
                                            GestureDetector(
                                              onTap:
                                                  () {
                                                Navigator
                                                    .pop(context);
                                                Navigator
                                                    .of(context)
                                                    .push(MaterialPageRoute(
                                                    builder: (context) =>
                                                        Products(
                                                            sideMenuStuff
                                                                .sideMenuData
                                                                .elementAt(
                                                                mainIndex)
                                                                .menu
                          ....
                          ....
                          );

cuando usaba

 GridView.count(
      shrinkWrap: true,
      crossAxisCount: 2,
      physics: ScrollPhysics(),

la propiedad física, funcionó conmigo

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *