Merge pull request #150 from flixcoo/bug/149-hide-keyboard-when-button-create-game-is-pressed
Hide keyboard when button create game is pressed
This commit is contained in:
@@ -21,11 +21,14 @@ class Constants {
|
|||||||
remindLaunches: 40);
|
remindLaunches: 40);
|
||||||
|
|
||||||
/// Delay in milliseconds before a pop-up appears.
|
/// Delay in milliseconds before a pop-up appears.
|
||||||
static const int popUpDelay = 300;
|
static const int kPopUpDelay = 300;
|
||||||
|
|
||||||
/// Delay in milliseconds before the round view appears after the previous one is closed.
|
/// Delay in milliseconds before the round view appears after the previous one is closed.
|
||||||
static const int roundViewDelay = 600;
|
static const int kRoundViewDelay = 600;
|
||||||
|
|
||||||
/// Duration in milliseconds for the fade-in animation of texts.
|
/// Duration in milliseconds for the fade-in animation of texts.
|
||||||
static const int fadeInDuration = 300;
|
static const int kFadeInDuration = 300;
|
||||||
|
|
||||||
|
/// Duration in milliseconds for the keyboard to fully disappear.
|
||||||
|
static const int kKeyboardDelay = 300;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -473,7 +473,7 @@ class _ActiveGameViewState extends State<ActiveGameView> {
|
|||||||
if (round != null && round >= 0) {
|
if (round != null && round >= 0) {
|
||||||
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
||||||
await Future.delayed(
|
await Future.delayed(
|
||||||
const Duration(milliseconds: Constants.roundViewDelay));
|
const Duration(milliseconds: Constants.kRoundViewDelay));
|
||||||
if (context.mounted) {
|
if (context.mounted) {
|
||||||
_openRoundView(context, round);
|
_openRoundView(context, round);
|
||||||
}
|
}
|
||||||
@@ -489,7 +489,7 @@ class _ActiveGameViewState extends State<ActiveGameView> {
|
|||||||
|
|
||||||
confettiController.play();
|
confettiController.play();
|
||||||
|
|
||||||
await Future.delayed(const Duration(milliseconds: Constants.popUpDelay));
|
await Future.delayed(const Duration(milliseconds: Constants.kPopUpDelay));
|
||||||
|
|
||||||
if (context.mounted) {
|
if (context.mounted) {
|
||||||
showCupertinoDialog(
|
showCupertinoDialog(
|
||||||
|
|||||||
@@ -216,7 +216,7 @@ class _CreateGameViewState extends State<CreateGameView> {
|
|||||||
? 1.0
|
? 1.0
|
||||||
: 0.0,
|
: 0.0,
|
||||||
duration: const Duration(
|
duration: const Duration(
|
||||||
milliseconds: Constants.fadeInDuration),
|
milliseconds: Constants.kFadeInDuration),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.only(right: 8.0),
|
padding: const EdgeInsets.only(right: 8.0),
|
||||||
child: ReorderableDragStartListener(
|
child: ReorderableDragStartListener(
|
||||||
@@ -289,7 +289,6 @@ class _CreateGameViewState extends State<CreateGameView> {
|
|||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.fromLTRB(0, 0, 0, 50),
|
padding: const EdgeInsets.fromLTRB(0, 0, 0, 50),
|
||||||
child: Center(
|
child: Center(
|
||||||
key: const ValueKey('create_game_button'),
|
|
||||||
child: CustomButton(
|
child: CustomButton(
|
||||||
child: Text(
|
child: Text(
|
||||||
AppLocalizations.of(context).create_game,
|
AppLocalizations.of(context).create_game,
|
||||||
@@ -298,7 +297,12 @@ class _CreateGameViewState extends State<CreateGameView> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
_checkAllGameAttributes();
|
FocusScope.of(context).unfocus();
|
||||||
|
Future.delayed(
|
||||||
|
const Duration(
|
||||||
|
milliseconds: Constants.kKeyboardDelay), () {
|
||||||
|
_checkAllGameAttributes();
|
||||||
|
});
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -245,7 +245,7 @@ class _MainMenuViewState extends State<MainMenuView> {
|
|||||||
BadRatingDialogDecision badRatingDecision = BadRatingDialogDecision.cancel;
|
BadRatingDialogDecision badRatingDecision = BadRatingDialogDecision.cancel;
|
||||||
|
|
||||||
// so that the bad rating dialog is not shown immediately
|
// so that the bad rating dialog is not shown immediately
|
||||||
await Future.delayed(const Duration(milliseconds: Constants.popUpDelay));
|
await Future.delayed(const Duration(milliseconds: Constants.kPopUpDelay));
|
||||||
|
|
||||||
switch (preRatingDecision) {
|
switch (preRatingDecision) {
|
||||||
case PreRatingDialogDecision.yes:
|
case PreRatingDialogDecision.yes:
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ name: cabo_counter
|
|||||||
description: "Mobile app for the card game Cabo"
|
description: "Mobile app for the card game Cabo"
|
||||||
publish_to: 'none'
|
publish_to: 'none'
|
||||||
|
|
||||||
version: 0.5.5+606
|
version: 0.5.4+609
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ^3.5.4
|
sdk: ^3.5.4
|
||||||
|
|||||||
Reference in New Issue
Block a user