Flutter中GridView项的不同大小

4

我想要使用网格视图创建一个类别选择器。

我希望它们可以有不同的大小(每个都换行)。

为了使网格视图像下面这样,我应该使用什么?

对于我的英语表示抱歉,感谢你的帮助。

.

1个回答

6

使用 Wrap

输入图像描述

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        body: SafeArea(
          child: MyHomePage(),
        ),
      ),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    var elements = [
      'Android',
      'Ios',
      'Web front',
      'Sever',
      'Embedded Sofware',
      'Design'
    ];
    return Wrap(
      children: elements.map((el) => _MyButton(name: el)).toList(),
    );
  }
}

class _MyButton extends StatelessWidget {
  _MyButton({Key key, this.name}) : super(key: key);

  final String name;

  @override
  Widget build(BuildContext context) {
    return Container(
      margin: EdgeInsets.all(5),
      decoration: BoxDecoration(
        borderRadius: BorderRadius.circular(10),
        border: Border.all(
          color: Colors.black,
          width: 1,
          style: BorderStyle.solid,
        ),
      ),
      padding: EdgeInsets.all(20),
      child: Text(name),
    );
  }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接