diff --git a/lib/components/dialogs/key_verification_dialog.dart b/lib/components/dialogs/key_verification_dialog.dart index 5bf1f86f..4a602551 100644 --- a/lib/components/dialogs/key_verification_dialog.dart +++ b/lib/components/dialogs/key_verification_dialog.dart @@ -25,6 +25,7 @@ class KeyVerificationDialog extends StatefulWidget { class _KeyVerificationPageState extends State { void Function() originalOnUpdate; + final _scrollController = ScrollController(); @override void initState() { @@ -50,6 +51,7 @@ class _KeyVerificationPageState extends State { .contains(widget.request.state)) { widget.request.cancel('m.user'); } + _scrollController.dispose(); super.dispose(); } @@ -316,17 +318,25 @@ class _KeyVerificationPageState extends State { subtitle: Text(L10n.of(context).verifyTitle, maxLines: 1), title: userNameTitle, ); - final content = Column( - mainAxisSize: MainAxisSize.min, - children: [ - if (PlatformInfos.isCupertinoStyle) ...{ - SizedBox(height: 8), - Center(child: userNameTitle), - SizedBox(height: 12), - }, - body, - if (bottom != null) bottom, - ], + final content = Scrollbar( + isAlwaysShown: true, + controller: _scrollController, + child: SingleChildScrollView( + scrollDirection: Axis.vertical, + controller: _scrollController, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + if (PlatformInfos.isCupertinoStyle) ...[ + SizedBox(height: 8), + Center(child: userNameTitle), + SizedBox(height: 12), + ], + body, + if (bottom != null) bottom, + ], + ), + ), ); if (PlatformInfos.isCupertinoStyle) { return CupertinoAlertDialog(