From 6026c8976d03c1252ed284600169c334578431c0 Mon Sep 17 00:00:00 2001 From: Sorunome Date: Sat, 28 Aug 2021 17:36:23 +0200 Subject: [PATCH] feat: Dismiss keyboard on scroll in iOS --- lib/pages/views/chat_view.dart | 3 +++ lib/pages/views/search_view.dart | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/lib/pages/views/chat_view.dart b/lib/pages/views/chat_view.dart index 2a4f0484..05a25cc2 100644 --- a/lib/pages/views/chat_view.dart +++ b/lib/pages/views/chat_view.dart @@ -268,6 +268,9 @@ class ChatView extends StatelessWidget { ), reverse: true, controller: controller.scrollController, + keyboardDismissBehavior: PlatformInfos.isIOS + ? ScrollViewKeyboardDismissBehavior.onDrag + : ScrollViewKeyboardDismissBehavior.manual, childrenDelegate: SliverChildBuilderDelegate( (BuildContext context, int i) { return i == controller.filteredEvents.length + 1 diff --git a/lib/pages/views/search_view.dart b/lib/pages/views/search_view.dart index 3f6ec98f..89de0c3d 100644 --- a/lib/pages/views/search_view.dart +++ b/lib/pages/views/search_view.dart @@ -9,6 +9,7 @@ import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:future_loading_dialog/future_loading_dialog.dart'; import 'package:vrouter/vrouter.dart'; import '../../utils/localized_exception_extension.dart'; +import '../../utils/platform_infos.dart'; import '../search.dart'; class SearchView extends StatelessWidget { @@ -96,6 +97,9 @@ class SearchView extends StatelessWidget { body: TabBarView( children: [ ListView( + keyboardDismissBehavior: PlatformInfos.isIOS + ? ScrollViewKeyboardDismissBehavior.onDrag + : ScrollViewKeyboardDismissBehavior.manual, children: [ SizedBox(height: 12), ListTile( @@ -221,11 +225,17 @@ class SearchView extends StatelessWidget { ], ), ListView.builder( + keyboardDismissBehavior: PlatformInfos.isIOS + ? ScrollViewKeyboardDismissBehavior.onDrag + : ScrollViewKeyboardDismissBehavior.manual, itemCount: rooms.length, itemBuilder: (_, i) => ChatListItem(rooms[i]), ), controller.foundProfiles.isNotEmpty ? ListView.builder( + keyboardDismissBehavior: PlatformInfos.isIOS + ? ScrollViewKeyboardDismissBehavior.onDrag + : ScrollViewKeyboardDismissBehavior.manual, itemCount: controller.foundProfiles.length, itemBuilder: (BuildContext context, int i) { final foundProfile = controller.foundProfiles[i];