Flutter中如何移除展示路由传参result时附带的动画效果
解决方案
首先你需要确保路由跳转时传入的result能被NextPage正常接收,直接移除动画相关的ValueListenableBuilder即可,具体修改步骤如下:
- 先为
NextPage类声明接收result的属性与构造方法(如果还没声明的话):
class NextPage extends StatefulWidget { // 类型和你传入的result类型保持一致,如果是int就改为final int result final String result; const NextPage({super.key, required this.result}); @override State<NextPage> createState() => _NextPageState(); }
- 直接替换原build方法中的
ValueListenableBuilder组件,直接读取widget.result展示即可:
@override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( backgroundColor: Colors.transparent, elevation: 0, ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Text( // 非String类型的result可以调用.toString()转换 'The result is ${widget.result}', style: Theme.of(context).textTheme.headline5, textAlign: TextAlign.center, ), ], ), ), ); }
- 清理冗余代码:原State类中声明
_animation变量、初始化动画的相关逻辑如果没有其他用途,可以直接删除。
内容的提问来源于stack exchange,提问作者bilbo_bo
相关产品推荐
相关产品推荐

