divideTiles static method

Iterable<Widget> divideTiles({
  1. required Iterable<Widget> childs,
  2. Divider divider = const Divider(height: 0.0),
})

给行布局添加底部线条, 默认使用ThemeDataDivider绘制线条 例: ItemNormalWidget布局原生中会绘制底部线条 ListView(

Implementation

//   children: ItemNormalWidget.divideTiles(
//     childs: <Widget>[
//       ItemNormalWidget(
//         leading: Icon(Icons.account_circle),
//         title: Text("测试文本1"),
//         onTap: () {},
//       ),
//       ItemNormalWidget(
//         title: Text("测试文本2"),
//         onTap: () {},
//       ),
//     ],
//   ).toList(),
// ),
static Iterable<Widget> divideTiles({
  required Iterable<Widget> childs,
  Divider divider = const Divider(height: 0.0),
}) sync* {
  final Iterator<Widget> iterator = childs.iterator;
  final bool isNotEmpty = iterator.moveNext();

  Widget child = iterator.current;
  while (iterator.moveNext()) {
    yield child = Material(
      child: Column(
        children: <Widget>[
          child,
          divider,
        ],
      ),
    );

    child = iterator.current;
  }
  if (isNotEmpty) {
    yield child;
  }
}