Flutter中ListView滚动阴影叫什么?如何修改themeData.dark()下的默认绿色?
Flutter ListView 滚动边缘阴影相关问题解答
阴影官方名称
该效果的官方名称为 GlowingOverscrollIndicator,中文可称为过度滚动发光指示器,是Flutter默认的Android风格过度滚动提示效果。
阴影颜色修改方案
你遇到的深色主题下默认显示绿色的问题,是因为该阴影默认取主题ColorScheme中的secondary属性值,你可以通过两种方式修改:
- 全局统一修改:在初始化
ThemeData时直接配置对应颜色,即可全局生效
MaterialApp( theme: ThemeData.dark().copyWith( colorScheme: const ColorScheme.dark( secondary: Colors.blue, // 替换为你想要的阴影颜色 ), ), // 其他配置 )
- 单组件单独修改:如果只需要修改某一个ListView的阴影颜色,可以用
ScrollConfiguration包裹组件单独配置
ScrollConfiguration( data: ScrollConfiguration.of(context).copyWith( glowColor: Colors.blue, // 仅当前包裹的滚动组件生效 ), child: ListView( // ListView原有配置 ), )
如果想要完全移除该阴影效果,也可以在ScrollConfiguration的data中添加physics: const BouncingScrollPhysics()切换为iOS风格的弹性滚动效果,就不会出现发光阴影。
内容的提问来源于stack exchange,提问作者Miguel Cruz Santiago
相关产品推荐
相关产品推荐

