颤动中固定高度的网格视图

问题描述 投票:0回答:1

我正在尝试将4x4 gridView的高度固定为280。因此,gridview中的每个框将为140。

我正在尝试将Gridview包装在高度为280的容器内。但是,它正在容器内滚动。

这是我正在尝试的代码...

 Container(
            height: 280,
            width: width,
            decoration: BoxDecoration(color: Colors.grey),
            child: GridView.count(
              crossAxisCount: 2,
              children: <Widget>[
                Container( width: width/2,child: Text("some")),
                Container( width: width/2,child: Text("some")),
                Container( width: width/2,child: Text("some")),
                Container( width: width/2,child: Text("some")),
              ],
            ),
          ),

如果我不给容器内的宽度,那么水平方向上还有一些空间。

我需要gridview(尺寸为4x4)才能获得屏幕的整个宽度和总高度为280

gridview flutter dart flutter-layout
1个回答
0
投票

作为选项

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(title: const Text('ScrollingDemo')),
        body: LayoutBuilder(builder: (context, constraints) {
          final double childHeight = 140;
          final double ratio = constraints.maxWidth / 2 / childHeight;
          return Container(
            color: Colors.grey,
            child: GridView.count(
              crossAxisCount: 2,
              shrinkWrap: true,
              childAspectRatio: ratio,
              children: <Widget>[
                Container(child: Text("some")),
                Container(child: Text("some")),
                Container(child: Text("some")),
                Container(child: Text("some")),
              ],
            ),
          );
        }),
      ),
    );
  }
}

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.