首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

请在flutter中创建一页内的两个列表视图

在Flutter中创建一页内的两个列表视图,可以使用ListView和GridView来实现。

ListView是一个滚动的列表视图,可以垂直或水平滚动。要在Flutter中创建一页内的两个ListView,可以将它们放在一个Column中,每个ListView占据Column的一部分。以下是一个示例代码:

代码语言:txt
复制
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Two ListViews'),
        ),
        body: Column(
          children: [
            Expanded(
              child: ListView.builder(
                itemCount: 10,
                itemBuilder: (context, index) {
                  return ListTile(
                    title: Text('Item $index'),
                  );
                },
              ),
            ),
            Expanded(
              child: ListView.builder(
                itemCount: 5,
                itemBuilder: (context, index) {
                  return ListTile(
                    title: Text('Another Item $index'),
                  );
                },
              ),
            ),
          ],
        ),
      ),
    );
  }
}

在上面的示例中,我们使用了两个Expanded小部件来确保每个ListView占据相等的空间。您可以根据需要调整Expanded小部件的大小。

GridView是一个网格视图,可以在一页内显示多个项目。要在Flutter中创建一页内的两个GridView,可以将它们放在一个Column中,每个GridView占据Column的一部分。以下是一个示例代码:

代码语言:txt
复制
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Two GridViews'),
        ),
        body: Column(
          children: [
            Expanded(
              child: GridView.builder(
                gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                  crossAxisCount: 2,
                ),
                itemCount: 10,
                itemBuilder: (context, index) {
                  return GridTile(
                    child: Container(
                      color: Colors.blue,
                      child: Center(
                        child: Text('Item $index'),
                      ),
                    ),
                  );
                },
              ),
            ),
            Expanded(
              child: GridView.builder(
                gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                  crossAxisCount: 2,
                ),
                itemCount: 5,
                itemBuilder: (context, index) {
                  return GridTile(
                    child: Container(
                      color: Colors.green,
                      child: Center(
                        child: Text('Another Item $index'),
                      ),
                    ),
                  );
                },
              ),
            ),
          ],
        ),
      ),
    );
  }
}

在上面的示例中,我们使用了两个Expanded小部件来确保每个GridView占据相等的空间。我们还使用了SliverGridDelegateWithFixedCrossAxisCount来指定每行的项目数量。

这是在Flutter中创建一页内的两个列表视图的基本方法。您可以根据自己的需求进行调整和定制。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Vcl控件详解_c++控件

大家好,又见面了,我是你们的朋友全栈君。 TTabControl 属性  DisplayRect:只定该控件客户区的一个矩形 HotTrack:设置当鼠标经过页标签时,它的字是否有变化。如果为True,是字会变成蓝色 Images:为每个页标签添加一个图片 MultiLine:如果总页标签的长度大于该控件的宽度时,是否允许多行显示 MultiSelect:是否允许多选页标签。该属性只有当Style为tsFlatButtons或tsButtons时才有效 OwnerDraw:是否允许自己绘画该控件 RaggedRight:指定是否允许标签页伸展到控制宽度 ScrollOpposite:该属性设置将会使MultiLine设为True。当标签页的行数大于1时,当单击其它页时,在它下面的页会自动翻动该控件的底部 Style:设置该控件的样式,大家一试就会知道 TabHeight:设置页标签的高度 TabIndex:反映当前标签页的索引号。该号从0开始 TabPosition:选择页标签的位置,分上,下,左,右 Tabs:对每个页进行增,删,改 TabWidth:设置页标签的宽度

01
  • 【老孟Flutter】Flutter 2 新增的功能

    今天,我们很高兴地宣布Flutter 2的发布。距离Flutter 1.0的发布已经两年多了,但是在很短的时间内,我们已经关闭了24,541期,并合并了765个贡献者的17,039个PR。自9月Flutter 1.22发布以来,我们已经关闭了5807期并合并了298位贡献者的4091个PR。特别感谢我们的志愿者捐助者,他们慷慨地抽出时间来改进Flutter项目。Flutter 2 release 版本前几名志愿者贡献者是xubaolin46个PR,a14n32个PR,专注于使Flutter达到零安全,hamdikahloun具有20个PR,改善了Flutter插件的数量。但是,不仅仅是编码员为Flutter项目做出了贡献。一大批志愿者PR评审人员还负责评审1525个PR,包括hamdikahloun(再次!),CareF和YazeedAlKhalaf(16个!)。Flutter确实是社区的一项工作,如果没有问题提出者,PR贡献者和代码审查者,我们就不可能进入第2版。此版本适用于所有人。

    02
    领券