flutter - 如何在 SingleChildScrollView 内的列内居中小部件
问题描述
我有这个屏幕,上面有一个 searchWidget,下面有一个列表。但是列表数据是在查询之后出现的searchWidget
,并且在等待获取数据时,我想ActivityIndicator
在屏幕中心呈现一个。但是进度指示器似乎并没有占据屏幕的其余空间,它就在 的正下方searchWidget
,如果我将它包裹在 anExpanded
中,则会出现错误
body: SingleChildScrollView(
physics: BouncingScrollPhysics(),
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
SearchWidget(
hintText: 'Search',
textEditingController: _textEditingController,
onCancel: () {
setState(() {
_textEditingController.text = '';
data = [];
});
},
onSubmitted: (val) {
onSubmitted(val);
}),
_isLoading
? (Container(
child: Center(
child: CupertinoActivityIndicator(
radius: 15,
),
),
))
: (data.length == 0
? SizedBox()
: Padding(
padding:
const EdgeInsets.only(top: 8, right: 8, left: 8),
child: ListView.builder(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemCount: data.length,
itemBuilder: (ctx, i) =>
ListItem(item: data[i]),
),
))
],
),
),
解决方案
尝试扩展:
_isLoading
? (Expanded(
child: Center(
child: CupertinoActivityIndicator(
radius: 15,
),
),
))
推荐阅读
- arrays - 在 Ruby 中如何在迭代时修改数组?
- c# - .net Core:如何从 C# 代码传递参数和运行 Azure 数据工厂管道?
- maven - Maven依赖解析的实际机制?
- mysql - 如何为 Wordpress 网站调整 MySQL?
- gis - 如何避免仿真模型中的边缘效应?
- php - CodeIgniter - 如何在模型中显示来自 do_upload 的错误消息
- c# - 关闭并重新打开我的应用程序 xamarin 表单时导航栏项目消失
- android - react-native中如何区分两个appState:app进入后台,或者app请求权限
- audio - 使用 FFMPEG 填补原始音频 UDP 流的空白
- javascript - 用 reducer 替换数组中的对象