buildContent method

  1. @override
Widget? buildContent()
override

Implementation

@override
Widget? buildContent() {
  Widget? contentWidget;
  if (datas.isNotEmpty) {
    final top = Radius.circular(topRadius);
    final bottom = Radius.circular(bottomRadius);
    IndexedWidgetBuilder itemBuilder = (BuildContext context, int index) {
      // 无标题第一个item 设置上部分圆角
      BorderRadius? borderRadius;
      if (index == 0 && !hasTitle) {
        borderRadius = BorderRadius.vertical(top: top);
      } else if (index == datas.length - 1 &&
          (!hasNegative && !hasPositive)) {
        borderRadius = BorderRadius.vertical(bottom: bottom);
      }
      return buildItem(context, index, borderRadius);
    };

    contentWidget = ScrollConfiguration(
      behavior: NoneOverScrollBehavior(),
      child: itemDividerBuilder != null
          ? ListView.separated(
              shrinkWrap: true,
              padding: EdgeInsets.zero,
              itemBuilder: itemBuilder,
              separatorBuilder: itemDividerBuilder!,
              itemCount: datas.length,
            )
          : ListView.builder(
              shrinkWrap: true,
              padding: EdgeInsets.zero,
              itemBuilder: itemBuilder,
              itemCount: datas.length,
            ),
    );
  }
  return contentWidget;
}