Flutter 我无法在Flatter上创建SingleChildScrollView屏幕
我试图创建一个可滚动屏幕,不是内部的小部件,而是flift上的整个屏幕,但我遇到了如下错误: =====================================================================渲染库捕获的异常未布局RenderBox:RenderFlex#f643b relayoutBoundary=up13 NEEDS-PAINT 需要-合成-比特-更新 “package:flatter/src/rendering/box.dart”:失败的断言:第1920行 位置12:“hasSize”导致错误的相关小部件是:Flutter 我无法在Flatter上创建SingleChildScrollView屏幕,flutter,dart,Flutter,Dart,我试图创建一个可滚动屏幕,不是内部的小部件,而是flift上的整个屏幕,但我遇到了如下错误: =====================================================================渲染库捕获的异常未布局RenderBox:RenderFlex#f643b relayoutBoundary=up13 NEEDS-PAINT 需要-合成-比特-更新 “package:flatter/src/rendering/box.dart”:失败的断言:第19
SingleChildScrollView 以下是所示窗口小部件之一的代码:
var _settingsPage = StatefulBuilder(
builder: (BuildContext context, StateSetter setState) {
return Scaffold(
body: Row(
children: [
Flexible(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
SingleChildScrollView(
scrollDirection: Axis.vertical,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Row(
children: [
FloatingActionButton(
child: Icon(Icons.casino),
onPressed: changeHome,
),
],
),
Flexible(
fit: FlexFit.loose,
child: SingleChildScrollView(
scrollDirection: Axis.vertical,
child: Text(
_helpString,
textAlign: TextAlign.center,
),
),
),
Container(
alignment: Alignment.center,
padding: EdgeInsets.fromLTRB(10, 10, 10, 10),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text('Is your character epic?'),
Checkbox(
value: _epic,
onChanged: (bool epic) {
setState(
() {
_epic = epic;
},
);
},
),
],
),
),
],
),
),
],
),
),
],
),
);
},
);
尝试将
SingleChildScrollView
包装在一个SizedBox
中,并定义高度和宽度
这将确保将视图构造为定义的空间
要将SizedBox高度设置为屏幕高度,可以使用媒体查询,如
MediaQuery.of(context).size.height
并且您可以将height
替换为width
以将小部件大小设置为屏幕宽度
如果问题仍然存在,请随时发表评论
当做
Rachan您是否尝试过将
SingleChildScrollView
包装在扩展的
小部件中?或者尝试将SingleChildScrollView放在列上方