Flutter PageView页面切换动画控制与pageController Duration参数配置
是的,你只需要为Duration设置更小单位的参数,就可以缩短PageView的页面切换过渡动画时长。
Duration构造函数的所有时间单位参数是累加生效的,你可以灵活单独使用更小单位、或者组合多个单位来实现你需要的短时长,比如你当前代码里的1秒切换想要修改为200毫秒的流畅过渡,只需要调整duration参数即可:
IconButton( icon: const Icon(Icons.arrow_back_ios_new_rounded), onPressed: () { pageController.previousPage( duration: Duration(milliseconds: 200), curve: Curves.easeIn ); } )
相关开发建议:
- 常规PageView切换过渡的推荐时长区间为200~300毫秒,这个区间的动画效果既流畅不会突兀,也不会让用户产生等待感
- 微秒级的参数调整用户几乎感知不到,移动端屏幕常规最高刷新率为120Hz,单帧渲染耗时约8.3毫秒,使用毫秒单位调整时长已经完全满足日常开发需求
- 多个时间单位参数会叠加计算时长,例如
Duration(milliseconds: 1500)和Duration(seconds: 1, milliseconds: 500)的效果完全一致
内容的提问来源于stack exchange,提问作者M812_
相关产品推荐
相关产品推荐

