New created player textfields get automatically focused
This commit is contained in:
@@ -38,11 +38,16 @@ class CreateGameView extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _CreateGameViewState extends State<CreateGameView> {
|
class _CreateGameViewState extends State<CreateGameView> {
|
||||||
|
final TextEditingController _gameTitleTextController =
|
||||||
|
TextEditingController();
|
||||||
|
|
||||||
|
/// List of text controllers for player names.
|
||||||
final List<TextEditingController> _playerNameTextControllers = [
|
final List<TextEditingController> _playerNameTextControllers = [
|
||||||
TextEditingController()
|
TextEditingController()
|
||||||
];
|
];
|
||||||
final TextEditingController _gameTitleTextController =
|
|
||||||
TextEditingController();
|
/// List of focus nodes for player name text fields.
|
||||||
|
final List<FocusNode> _playerNameFocusNodes = [FocusNode()];
|
||||||
|
|
||||||
/// Maximum number of players allowed in the game.
|
/// Maximum number of players allowed in the game.
|
||||||
final int maxPlayers = 5;
|
final int maxPlayers = 5;
|
||||||
@@ -177,6 +182,7 @@ class _CreateGameViewState extends State<CreateGameView> {
|
|||||||
Expanded(
|
Expanded(
|
||||||
child: CupertinoTextField(
|
child: CupertinoTextField(
|
||||||
controller: _playerNameTextControllers[index],
|
controller: _playerNameTextControllers[index],
|
||||||
|
focusNode: _playerNameFocusNodes[index],
|
||||||
maxLength: 12,
|
maxLength: 12,
|
||||||
placeholder:
|
placeholder:
|
||||||
'${AppLocalizations.of(context).player} ${index + 1}',
|
'${AppLocalizations.of(context).player} ${index + 1}',
|
||||||
@@ -245,6 +251,10 @@ class _CreateGameViewState extends State<CreateGameView> {
|
|||||||
setState(() {
|
setState(() {
|
||||||
_playerNameTextControllers
|
_playerNameTextControllers
|
||||||
.add(TextEditingController());
|
.add(TextEditingController());
|
||||||
|
_playerNameFocusNodes.add(FocusNode());
|
||||||
|
});
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
|
_playerNameFocusNodes.last.requestFocus();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
_showFeedbackDialog(CreateStatus.maxPlayers);
|
_showFeedbackDialog(CreateStatus.maxPlayers);
|
||||||
|
|||||||
@@ -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.2+584
|
version: 0.5.2+585
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ^3.5.4
|
sdk: ^3.5.4
|
||||||
|
|||||||
Reference in New Issue
Block a user