我正在尝试根据 SingleChildScrollView 的滚动位置动态更改容器的宽度。这就是我尝试处理的方式:
...
Container(
width: 20.0 + position,
height: deviceHeight*10,
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(25.0),
color: Color(0xf7f7f7f7).withOpacity(1),
),
),
),
NotificationListener<ScrollNotification>(
onNotification: (scrollNotification) {
if (scrollNotification is ScrollUpdateNotification) {
if (scrollNotification.metrics.pixels < 300){
setState(() {
position = scrollNotification.metrics.pixels;
//topPosition = deviceHeight*47 - position;
print(position);
});
}
}
return true;
},
child: Positioned(
top: deviceHeight*47,
width: deviceWidth*100,
height: deviceHeight*50,
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(25.0),
color: Color(0xf7f7f7f7).withOpacity(1),
),
child: SingleChildScrollView(
child: Container(
padding: EdgeInsets.only(left: deviceWidth*7, top: deviceHeight*4),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
...
我正在打印滚动位置,它是完全正确的,但它对容器的宽度没有影响。
所有这些小部件都在 Stack 小部件下。
我做错了什么?
提前感谢您的支持!
塞尔吉