gpt4 book ai didi

flutter - 如何在页面更改时动态更改 ScrollPhysics

转载 作者:IT王子 更新时间:2023-10-29 06:52:33 24 4
gpt4 key购买 nike

我想在每次向前/向后更改页面时应用 NeverScrollableScrollPhysics(),然后在 3 秒后返回到 AlwaysScrollableScrollPhysics()。我将如何实现这种行为?

我尝试在 onPageChanged 监听器中设置状态,但它会破坏页面 View 。

class _HomePageState extends State<HomePage> {
ScrollPhysics myScrollPhysics = AlwaysScrollableScrollPhysics();

@override
Widget build(BuildContext context) {
return PageView(
scrollDirection: Axis.vertical,
controller: myPageController,
physics: myScrollPhysics,
onPageChanged: (index){
setState((){
myScrollPhysics = NeverScrollableScrollPhysics();
})
},
children: [...]
)
}

最佳答案

这个灵魂有效:
在此函数中,您等待 3 秒,然后再更改状态和您的物理。

void _scrollOn() async {
myScrollPhysics = NeverScrollableScrollPhysics();
await Future.delayed(const Duration(seconds: 3));
setState((){
myScrollPhysics = AlwaysScrollableScrollPhysics();
})
}
onPageChanged: (index){
setState((){
_scrollOn();
})
},

关于flutter - 如何在页面更改时动态更改 ScrollPhysics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57153639/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com