Flutter GridView.Builder не прокручивается (проблемы с высотой) - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь создать сетку продуктов, используя GridView.Builder, но она выдает ошибку:

Вертикальный видовой экран задан безграничной высотой.

Я пытался использовать гибкость в GridView, он работал но мне нужно использовать GridView.Builder В частности, и если я попытался обернуть его с помощью гибкого или указанного c контейнера высоты, он не прокручивается, какие-либо советы?

import 'package:flutter/material.dart';
class Products extends StatefulWidget {
  @override
  _ProductsState createState() => _ProductsState();
}

class _ProductsState extends State<Products> {

  var productList=[
    {
      "name":"Blazer",
      "picture":"images/products/blazer1.jpeg",
      "oldPrice":120,
      "price":100
    },
    {
      "name":"Dress",
      "picture":"images/products/dress1.jpeg",
      "oldPrice":120,
      "price":100
    },
    {
      "name":"hills",
      "picture":"images/products/hills1.jpeg",
      "oldPrice":11,
      "price":10
    },
    {
      "name":"pants",
      "picture":"images/products/pants2.jpeg",
      "oldPrice":12,
      "price":200,
    }
  ];
  @override
  Widget build(BuildContext context) {
    return GridView.builder(
      scrollDirection: Axis.vertical,
      itemCount: productList.length,
      gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2),
      itemBuilder: (context,index){
      return SingalProduct(
        name: productList[index]['name'],
        picture: productList[index]['picture'],
        oldPrice: productList[index]['oldPrice'],
        price: productList[index]['price'],
          );
        },
      );
  }
}
class SingalProduct extends StatelessWidget {
  final name,picture,oldPrice,price;

  SingalProduct({this.name,this.picture,this.oldPrice,this.price});

  @override
  Widget build(BuildContext context) {
    return Card(
      child: Hero(
        tag: name,
        child: InkWell(
          onTap: (){},
          child: GridTile(
            footer: Container(
              height: 40,
              color: Colors.white,
              child: Padding(
                padding: EdgeInsets.fromLTRB(8, 12, 0, 0),
                child: Text(name,textAlign: TextAlign.start,style: TextStyle(fontWeight: FontWeight.bold,fontSize: 16),),
              ),
            ),
            child: Image.asset(picture,fit: BoxFit.cover, ),
            ),
          ),
        ),
    );
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...