opt: custom scroll for better scroll and add trackpad support

This commit is contained in:
Kingtous 2022-09-19 21:09:54 +08:00
parent e1ab01a97f
commit df5a2ab556
5 changed files with 16 additions and 5 deletions

View File

@ -16,7 +16,9 @@ const int kDesktopDefaultDisplayWidth = 1080;
const int kDesktopDefaultDisplayHeight = 720;
/// [kDefaultScrollAmountMultiplier] indicates how many rows can be scrolled after a minimum scroll action of mouse
const kDefaultScrollAmountMultiplier = 10.0;
const kDefaultScrollAmountMultiplier = 5.0;
const kDefaultScrollDuration = Duration(milliseconds: 50);
const kDefaultMouseWhellThrottleDuration = Duration(milliseconds: 50);
const kFullScreenEdgeSize = 1.0;
const kWindowEdgeSize = 4.0;

View File

@ -852,7 +852,9 @@ class _PeerTabbedPageState extends State<_PeerTabbedPage>
Widget _createTabBarView() {
return Expanded(
child: PageView(
controller: _pageController, children: super.widget.children)
physics: NeverScrollableScrollPhysics(),
controller: _pageController,
children: super.widget.children)
.marginSymmetric(vertical: 12));
}

View File

@ -89,7 +89,7 @@ class _PeerWidgetState extends State<_PeerWidget> with WindowListener {
: DesktopScrollWrapper(
scrollController: _scrollController,
child: SingleChildScrollView(
physics: const NeverScrollableScrollPhysics(),
physics: NeverScrollableScrollPhysics(),
controller: _scrollController,
child: ObxValue<RxString>((searchText) {
return FutureBuilder<List<Peer>>(

View File

@ -14,7 +14,11 @@ class DesktopScrollWrapper extends StatelessWidget {
return ImprovedScrolling(
scrollController: scrollController,
enableCustomMouseWheelScrolling: true,
customMouseWheelScrollConfig: const CustomMouseWheelScrollConfig(
customMouseWheelScrollConfig: CustomMouseWheelScrollConfig(
scrollDuration: kDefaultScrollDuration,
scrollCurve: Curves.linearToEaseOut,
mouseWheelTurnsThrottleTimeMs:
kDefaultMouseWhellThrottleDuration.inMilliseconds,
scrollAmountMultiplier: kDefaultScrollAmountMultiplier),
child: child,
);

View File

@ -80,7 +80,10 @@ dependencies:
desktop_drop: ^0.3.3
scroll_pos: ^0.3.0
rxdart: ^0.27.5
flutter_improved_scrolling: ^0.0.3
flutter_improved_scrolling:
git:
url: https://github.com/Kingtous/flutter_improved_scrolling
ref: 62f09545149f320616467c306c8c5f71714a18e6
dev_dependencies:
icons_launcher: ^2.0.4