Flutter Material3中如何移除列表滚动时的拉伸效果?
在Flutter Material3中移除列表滚动拉伸效果
- 左侧是旧版Material Design的发光效果,右侧是新版Material3的拉伸效果:

要移除Material3中的滚动拉伸效果,有两种常用实现方式:
1. 全局主题配置(对所有滚动组件生效)
在Material组件的theme属性中,为ThemeData添加自定义滚动行为,通过ClampingScrollPhysics禁用拉伸/回弹效果:
theme: ThemeData().copyWith( useMaterial3: true, colorScheme: ColorScheme.fromSeed( seedColor: Colors.red, ), scrollBehavior: const MaterialScrollBehavior().copyWith( physics: const ClampingScrollPhysics(), ), ),
2. 单独配置滚动组件(仅针对单个列表)
如果只需移除特定列表的拉伸效果,直接在对应滚动组件(如ListView)中设置physics属性即可:
ListView( physics: const ClampingScrollPhysics(), // 其他列表配置项 )
补充说明:
ClampingScrollPhysics是Android平台默认的滚动物理效果,滚动到边界时无额外动效;若需要保留iOS风格的回弹但移除Material3的拉伸,可替换为BouncingScrollPhysics,按需选择即可。
内容的提问来源于stack exchange,提问作者Hama Sabah
相关产品推荐
相关产品推荐

