如何在Flutter中制作自定义表格小部件?

时间:2019-07-06 23:14:50

标签: layout flutter scrollview

我正在制作一个自定义窗口小部件,用于显示每周时间表。我希望它看起来像一张普通表,标题中的天数和垂直轴上的时间。然后,我想在日历中添加事件,但是由于一个事件可以跨越多个单元格,因此我无法使用内置表(它没有列/行跨度)。

因此,我开始使用CustomPaint制作自己的表。一切顺利,直到我到达标题部分为止,这个想法我一直停留在布局上。在我提供的代码中,您可以看到页眉的宽度与侧栏(随时间)和WeekView(WeekView)(CustomPaint表)的宽度相同。这意味着我不知道如何将标题(星期一,星期二等)与WeekView中的网格对齐,因为边栏占用的空间未知。正如我希望边栏随表格滚动一样,它必须在scrollview中。我可以用其他方法解决吗?也许还有条子(我还不知道)?

@override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        WeekSelector(
          week: controller.week,
          onPrevPressed: onPrevPressed,
          onNextPressed: onNextPressed,
        ),
        WeekHeader(),
        Expanded(
          child: SingleChildScrollView(
            scrollDirection: Axis.vertical,
            child: Container(
              child: Row(
                children: <Widget>[
                  Text("09:00"), // here will be a bar for the time
                  Expanded(
                    child: WeekView(
                      startHour: 9,
                      endHour: 18,
                    ),
                  ),
                ],
              ),
            ),
          ),
        ),
      ],
    );
  }

0 个答案:

没有答案