build method
Implementation
Widget build() {
if (_list.length == 0) {
return RefreshIndicator(
child: Scrollbar(
controller: scrollController,
child: Container(
child: Stack(
children: [
ListView(),
buildBlank(),
],
),
),
),
onRefresh: _doRefresh,
);
}
return RefreshIndicator(
child: Scrollbar(
controller: scrollController,
child: SafeArea(
child: Column(
children: [
Expanded(
child: ListView.builder(
physics: AlwaysScrollableScrollPhysics(),
controller: scrollController,
// 这里是列表数量,如果不添加不会显示,还会报错哦!
itemCount: _list.length,
// 使用构建器显示列表内容
itemBuilder: (BuildContext context, int index) {
// print("list index $index - ${list.length}");
// if (index == list.length) {
// // return
// } else {
return onItemTap == null
? Container(
height: height,
child: itemBuild(context, _list[index], index),
)
: Container(
height: height,
child: InkWell(
onTap: () => onItemTap!(_list[index], index),
// 列表布局
child: itemBuild(context, _list[index], index),
),
);
// }
}),
),
// Divider(),
// 加载中,及加载状态区域
ValueListenableBuilder(
valueListenable: _isLoadingNotifier,
builder: (BuildContext context, bool value, Widget? child) {
return Visibility(
visible: value,
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: [
RefreshProgressIndicator(
color: Colors.blue,
),
SizedBox(
width: 10,
),
Center(child: Text("加载中")),
],
),
);
}),
],
),
),
),
onRefresh: _doRefresh,
);
}