当用户滚动到列表或 TabView 的边缘时,结束边缘会出现一个动画蓝色圆圈。
这叫什么,我该如何改变它的颜色?
这是android scroll物理(ClampingScrollPhysics(。
从源代码和文档中:
发光颜色被指定为使用 [主题数据.强调色]。
话虽如此,当您创建App
时,最佳做法是指定自定义主题,而不是手动应用颜色。
例:
class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'My App',
theme: ThemeData(
brightness: Brightness.light,
primarySwatch: Colors.grey,
primaryColor: Colors.grey[50],
primaryColorBrightness: Brightness.light,
//this is what you want
accentColor: Colors.orangeAccent[400],
accentColorBrightness: Brightness.light,
),
home: Home(),
);
}
}
我喜欢使用此工具定义主要和次要(称为颤振中的强调色(并预览小部件。
注意:在 IO 上,物理特性是不同的,允许用户滚动到内容边界之外,但随后将内容反弹回这些边界的边缘(BouncingScrollPhysics(。
自 Flutter v2.3.0-0.1.pre 起,主题发生了变化https://api.flutter.dev/flutter/material/ThemeData/accentColor.html
要设置主题色,您必须执行以下操作
class Themes {
static final light = ThemeData(
// Colors
backgroundColor: Colors.white,
primaryColor: MyColors.blue,
splashColor: MyColors.blue,
cardColor: MyColors.blue,
hoverColor: MyColors.blue,
highlightColor: MyColors.blue,
colorScheme: ColorScheme.light(primary: MyColors.blue),
// Fonts
fontFamily: 'Inter');
static final lightV2 = light.copyWith(
colorScheme: light.colorScheme.copyWith(secondary: MyColors.blue));
}
并在您的材料应用程序中分配ligthV2
MaterialApp(
...
theme: Themes.lightV2
...
)