Flutter 如何制作交替颜色的数据表行,如;斑马;

Flutter 如何制作交替颜色的数据表行,如;斑马;,flutter,Flutter,我正在尝试制作一个类似于我将在下面给出的示例的表格。 在本例中,表格的行交替使用灰色和白色。 我有一个datatable,其中包含来自MySQL数据库的数据,我不知道具体的行数,它们根据数据量而变化。 根据这个逻辑,我想我需要一个计数器来计算行数,如果我们说这行是偶数,那么它将用灰色填充。但我对颤振还不熟悉,我不知道如何在这里实现这一点。 我还想问一下示例中页面顶部使用了什么样的小部件。它看起来像一个tabbar,是吗? 对于元素列表,您可以使用ListView并在itemBuilder中选择所

我正在尝试制作一个类似于我将在下面给出的示例的表格。 在本例中,表格的行交替使用灰色和白色。 我有一个datatable,其中包含来自MySQL数据库的数据,我不知道具体的行数,它们根据数据量而变化。 根据这个逻辑,我想我需要一个计数器来计算行数,如果我们说这行是偶数,那么它将用灰色填充。但我对颤振还不熟悉,我不知道如何在这里实现这一点。 我还想问一下示例中页面顶部使用了什么样的小部件。它看起来像一个tabbar,是吗?

对于元素列表,您可以使用
ListView
并在
itemBuilder
中选择所需的颜色,如下所示:

ListView.builder(
  reverse: true,
  itemBuilder: (BuildContext context, int position) {
    Color color = position.isOdd ? Colors.black12 : Colors.white; //choose color
    return ColoredWidget(color); // some widget with color background
  },
  itemCount: snapshot.data.questionList.length,
)
DataRow(
    selected: index % 2 == 0 ? true : false,
    cells: <DataCell>[
          DataCell(Text("data")),
          DataCell(Text("data")),

]);
数据表的UPD:

看来你做不到。
如果在
DataTable
类中查看方法
build
,它将生成
List
并返回
Table
,同时返回行列表:

final List<TableRow> tableRows = List<TableRow>.generate(
      rows.length + 1, // the +1 is for the header row
      (int index) {
        return TableRow(
          key: index == 0 ? _headingRowKey : rows[index - 1].key,
          decoration: index > 0 && rows[index - 1].selected ? _kSelectedDecoration
                                                            : _kUnselectedDecoration,
          children: List<Widget>(tableColumns.length),
        );
      },
    );

您可以像这样使用所选的:

ListView.builder(
  reverse: true,
  itemBuilder: (BuildContext context, int position) {
    Color color = position.isOdd ? Colors.black12 : Colors.white; //choose color
    return ColoredWidget(color); // some widget with color background
  },
  itemCount: snapshot.data.questionList.length,
)
DataRow(
    selected: index % 2 == 0 ? true : false,
    cells: <DataCell>[
          DataCell(Text("data")),
          DataCell(Text("data")),

]);
DataRow(
所选:索引%2==0?真:假,
单元格:[
数据单元(文本(“数据”)),
数据单元(文本(“数据”)),
]);

但是如果我使用DataTable,我该怎么做呢?