Flutter SingleChildScrollView不使用列表视图生成器
虽然我使用SingleChildScrollView作为主体,但ListView在此小部件中不可滚动。 为了滚动小部件,我应该从页面的第一部分开始滚动,这是列中的堆栈,如果我尝试滚动ListView,它是不可滚动的,并且不会产生任何错误,如渲染框溢出Flutter SingleChildScrollView不使用列表视图生成器,flutter,dart,Flutter,Dart,虽然我使用SingleChildScrollView作为主体,但ListView在此小部件中不可滚动。 为了滚动小部件,我应该从页面的第一部分开始滚动,这是列中的堆栈,如果我尝试滚动ListView,它是不可滚动的,并且不会产生任何错误,如渲染框溢出 body: SingleChildScrollView( child: Container( //height: MediaQuery.of(context).size.height, width: double.i
body: SingleChildScrollView(
child: Container(
//height: MediaQuery.of(context).size.height,
width: double.infinity,
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [
Color(0xFF27233E),
Color(0xFF160F3C),
Color(0xFF1E1550),
Color(0xFF241A5B),
],
),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Container(
height: 210,
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(25.0),
bottomRight: Radius.circular(25.0),
),
color: Colors.transparent.withOpacity(0.2)),
width: MediaQuery.of(context).size.width,
child: Card(
color: Colors.orange,
shape: RoundedRectangleBorder(
side: BorderSide(),
borderRadius: (BorderRadius.only(
bottomRight: Radius.circular(25.0),
bottomLeft: Radius.circular(25.0)))),
child: Stack(
children: <Widget>[
//Title
Positioned.fill(
top: 20,
left: 20,
child: Align(
alignment: Alignment.topCenter,
child: Text(
"Day: $currentDay",
style: TextStyle(
color: Colors.white,
fontFamily: "Montserrat",
fontSize: 31,
fontWeight: FontWeight.w900),
),
),
),
Positioned.fill(
bottom: -17.0,
child: Align(
alignment: Alignment.centerRight,
child: Container(
padding: const EdgeInsets.only(right: 10.0),
child: Hero(
tag: 'assets/logos/biceps-icon.png',
child: Image(
image: AssetImage(
'assets/logos/biceps-icon.png'),
height: 150.0,
))),
),
),
Positioned.fill(
bottom: 50,
top: 20,
left: 20,
child: Align(
alignment: Alignment.bottomLeft,
child: Text(
"${dayMap['day$currentDay']}",
style: TextStyle(
color: Colors.white,
fontFamily: "Montserrat",
fontSize: 20,
fontWeight: FontWeight.w900),
),
),
),
],
),
),
),
Container(
height: MediaQuery.of(context).size.height,
child: ListView.builder(
itemCount: dayMap["workout"].length,
physics: AlwaysScrollableScrollPhysics(),
scrollDirection: Axis.vertical,
itemBuilder: (context, index) {
return Padding(
padding: const EdgeInsets.all(2.0),
child: (Card(
shape: RoundedRectangleBorder(
side: BorderSide(
width: 3, color: Colors.indigo),
borderRadius:
(BorderRadius.circular(30))),
color: Colors.purpleAccent,
margin:
EdgeInsets.fromLTRB(20.0, 6.0, 20.0, 0.0),
child: ListTile(
leading: ClipOval(
child: CircleAvatar(
radius: 25.0,
backgroundColor: Colors.transparent,
),
),
),
)));
}),
),
],
),
),
),
);
body:SingleChildScrollView(
子:容器(
//高度:MediaQuery.of(context).size.height,
宽度:double.infinity,
装饰:盒子装饰(
梯度:线性梯度(
开始:Alignment.topCenter,
结束:对齐。底部中心,
颜色:[
颜色(0xFF27233E),
颜色(0xFF160F3C),
颜色(0xFF1E1550),
颜色(0xFF241A5B),
],
),
),
子:列(
mainAxisAlignment:mainAxisAlignment.space,
crossAxisAlignment:crossAxisAlignment.stretch,
mainAxisSize:mainAxisSize.max,
儿童:[
容器(
身高:210,
装饰:盒子装饰(
borderRadius:仅限borderRadius(
左下角:半径。圆形(25.0),
右下角:半径。圆形(25.0),
),
颜色:颜色。透明。不透明度(0.2)),
宽度:MediaQuery.of(context).size.width,
孩子:卡片(
颜色:颜色。橙色,
形状:圆形矩形边框(
side:BorderSide(),
borderRadius:(仅限borderRadius.only)(
右下角:半径。圆形(25.0),
左下角:半径.圆形(25.0)),
子:堆栈(
儿童:[
//头衔
定位填充(
前20名,
左:20,,
子对象:对齐(
对齐:alignment.topCenter,
子:文本(
“日:$currentDay”,
样式:TextStyle(
颜色:颜色,白色,
fontFamily:“蒙特塞拉特”,
尺码:31,
fontWeight:fontWeight.w900),
),
),
),
定位填充(
底部:-17.0,
子对象:对齐(
对齐:alignment.centerRight,
子:容器(
填充:仅限常量边集(右:10.0),
孩子:英雄(
标签:“assets/logos/biceps icon.png”,
孩子:图像(
图片:资产评估(
“资产/徽标/肱二头肌图标.png”),
高度:150.0,
))),
),
),
定位填充(
底数:50,
前20名,
左:20,,
子对象:对齐(
对齐:对齐。左下角,
子:文本(
“${dayMap['day$currentDay']}”,
样式:TextStyle(
颜色:颜色,白色,
fontFamily:“蒙特塞拉特”,
尺寸:20,
fontWeight:fontWeight.w900),
),
),
),
],
),
),
),
容器(
高度:MediaQuery.of(context).size.height,
子项:ListView.builder(
itemCount:dayMap[“训练”]。长度,
物理:AlwaysScrollableScrollPhysics(),
滚动方向:轴垂直,
itemBuilder:(上下文,索引){
返回填充(
填充:常数边集全部(2.0),
孩子:(卡片)(
形状:圆形矩形边框(
边线(
宽度:3,颜色:颜色。靛蓝),
边界半径:
(边界半径圆形(30)),
颜色:颜色。紫红色,
保证金:
来自LTRB(20.0,6.0,20.0,0.0)的边缘集,
孩子:ListTile(
前导:斜坡(
孩子:圆环星(
半径:25.0,
背景颜色:颜色。透明,
),
),
),
)));
}),
),
],
),
),
),
);
}
}在Listview.builder函数中,尝试将物理属性更改为“NeverScrollableScrollPhysics()”
在Listview.builder函数中,尝试将Physical属性更改为“NeverScrollableScrollPhysics()”
ListView.builder(
itemCount: dayMap["workout"].length,
physics: NeverScrollableScrollPhysics(),
scrollDirection: Axis.vertical,
itemBuilder: (context, index) {
return Padding(