diff --git a/lib/pages/following/following_edit_bar.dart b/lib/pages/following/following_edit_bar.dart index e45dacd..54c0643 100644 --- a/lib/pages/following/following_edit_bar.dart +++ b/lib/pages/following/following_edit_bar.dart @@ -27,6 +27,7 @@ const double _barButtonHeight = 30; const double _removeDialogButtonHeight = 32; const double _removeDialogRadius = 6; const double _removeDialogBottomInset = 8; +const double _cancelFollowingDialogPadding = 20; /// 播放历史移除确认。只把移除按钮压矮。 Future confirmHistoryRemove(BuildContext context) async { @@ -71,13 +72,32 @@ Future confirmCancelFollowing(BuildContext context) async { return await showDialog( context: context, builder: (dialogContext) => AlertDialog( + contentPadding: const EdgeInsets.all(_cancelFollowingDialogPadding), + actionsPadding: const EdgeInsets.fromLTRB( + _cancelFollowingDialogPadding, + 0, + _cancelFollowingDialogPadding, + _cancelFollowingDialogPadding, + ), content: Text(l10n.confirmCancelFollowing), actions: [ TextButton( + style: TextButton.styleFrom( + visualDensity: VisualDensity.standard, + tapTargetSize: MaterialTapTargetSize.shrinkWrap, + minimumSize: const Size(0, _removeDialogButtonHeight), + padding: const EdgeInsets.symmetric(horizontal: 12), + ), onPressed: () => Navigator.pop(dialogContext, false), child: Text(l10n.cancel), ), FilledButton( + style: FilledButton.styleFrom( + visualDensity: VisualDensity.standard, + tapTargetSize: MaterialTapTargetSize.shrinkWrap, + minimumSize: const Size(0, _removeDialogButtonHeight), + padding: const EdgeInsets.symmetric(horizontal: 12), + ), onPressed: () => Navigator.pop(dialogContext, true), child: Text(l10n.cancelFollowing), ), diff --git a/test/following/following_page_test.dart b/test/following/following_page_test.dart index 5e57ce3..12b4b85 100644 --- a/test/following/following_page_test.dart +++ b/test/following/following_page_test.dart @@ -143,6 +143,31 @@ void main() { await tester.tap(find.byKey(const Key('following-cancel-follow'))); await tester.pumpAndSettle(); expect(find.text('Unfollow the selected dramas?'), findsOneWidget); + final dialog = tester.widget(find.byType(AlertDialog)); + expect(dialog.contentPadding, const EdgeInsets.all(20)); + expect(dialog.actionsPadding, const EdgeInsets.fromLTRB(20, 0, 20, 20)); + expect( + tester + .getSize( + find.descendant( + of: find.byType(AlertDialog), + matching: find.byType(TextButton), + ), + ) + .height, + 32, + ); + expect( + tester + .getSize( + find.descendant( + of: find.byType(AlertDialog), + matching: find.byType(FilledButton), + ), + ) + .height, + 32, + ); await tester.tap( find.descendant( of: find.byType(AlertDialog),