如何改变滚动条的粗细?

kin*_*ine 6 flutter

Flutter中的Scrollbar小部件似乎有固定的厚度6。我认为Scrollbar看起来很难看,它太厚了。另外,如果我将 Flutter Scrollbar 与我设备中其他应用程序中的滚动条进行比较,它们看起来都不同(它们看起来更好)。

我可以在不创建新的滚动条小部件的情况下更改滚动条厚度吗?

我有一个想法,强制滚动条部分超出屏幕,使其看起来更薄,但我不知道该怎么做。

我将滚动条与 ListView 一起使用。

小智 5

只需更改thickness滚动条主题数据的属性:

class MyApp extends StatelessWidget {
  final double _thickness = 2;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,

      theme: ThemeData.light().copyWith(
        scrollbarTheme: ScrollbarThemeData().copyWith(
          thickness: MaterialStateProperty.all(_thickness),
        )
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)


kin*_*ine 2

我找到了一个相对简单的解决方法,将滚动条包装在 Stack 小部件中,并向 Stack 添加一个容器,该容器将隐藏部分滚动条。屏幕右边缘会有一个小的“白色”边距,但您会在操作系统设置视图中看到类似的边距(至少在 Galaxy S7 设置应用程序中)。示例代码(请注意,这仅适用于 Android,未在 iOS 中进行测试):

Widget build(BuildContext context) {
  return Stack(
    alignment: Alignment.topRight,
    fit: StackFit.loose,
    children: <Widget>[
      Scrollbar(
        child: buildListView(),
      ),
      Container(
        width: 3,
        color: Theme.of(context).canvasColor,
      )
    ],
  );
}
Run Code Online (Sandbox Code Playgroud)