TF-2313 Add ScrollbarListView widget

Signed-off-by: dab246 <tdvu@linagora.com>
(cherry picked from commit 30c10db3d1833a77fc4f342c2c84fddcdef6d87c)
This commit is contained in:
dab246
2023-11-22 17:32:44 +07:00
committed by Dat H. Pham
parent d14ff9d73c
commit b5e9bdb8d0
3 changed files with 33 additions and 10 deletions
@@ -1,10 +0,0 @@
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
class CustomScrollBehavior extends MaterialScrollBehavior {
@override
Set<PointerDeviceKind> get dragDevices => {
PointerDeviceKind.touch,
PointerDeviceKind.mouse,
};
}
@@ -0,0 +1,32 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:flutter/material.dart';
class ScrollbarListView extends StatelessWidget {
final Widget child;
final ScrollController scrollController;
final ScrollBehavior? scrollBehavior;
const ScrollbarListView({
super.key,
required this.child,
required this.scrollController,
this.scrollBehavior
});
@override
Widget build(BuildContext context) {
return RawScrollbar(
thumbColor: AppColor.thumbScrollbarColor,
radius: const Radius.circular(10.0),
trackRadius: const Radius.circular(10.0),
minThumbLength: 70,
minOverscrollLength: 70,
controller: scrollController,
child: ScrollConfiguration(
behavior: scrollBehavior ?? ScrollConfiguration.of(context).copyWith(scrollbars: false),
child: child,
),
);
}
}