如何更改颜色滚动溢出指示器



当用户滚动到列表或 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
   ...
)

最新更新