Do Widgets tutorial #1

Merged
kornerr merged 15 commits from tutorial into master 2026-06-04 17:59:51 +02:00
Showing only changes of commit fd45f1a2bb - Show all commits

View File

@@ -40,9 +40,8 @@ class GamePage extends StatelessWidget {
class GuessInput extends StatelessWidget { class GuessInput extends StatelessWidget {
GuessInput({super.key, required this.onSubmitGuess}); GuessInput({super.key, required this.onSubmitGuess});
final void Function(String) onSubmitGuess;
final FocusNode _focusNode = FocusNode(); final FocusNode _focusNode = FocusNode();
final void Function(String) onSubmitGuess;
final TextEditingController _textEditingController = TextEditingController(); final TextEditingController _textEditingController = TextEditingController();
@override @override
@@ -62,17 +61,28 @@ class GuessInput extends StatelessWidget {
focusNode: _focusNode, focusNode: _focusNode,
maxLength: 5, maxLength: 5,
onSubmitted: (_) { onSubmitted: (_) {
onSubmitGuess(_textEditingController.text.trim()); processSubmit();
_textEditingController.clear();
_focusNode.requestFocus();
}, },
), ),
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
), ),
) ),
IconButton(
icon: const Icon(Icons.arrow_circle_up),
onPressed: () {
processSubmit();
},
padding: EdgeInsets.zero,
),
] ]
); );
} }
void processSubmit() {
onSubmitGuess(_textEditingController.text.trim());
_textEditingController.clear();
_focusNode.requestFocus();
}
} }
class MainApp extends StatelessWidget { class MainApp extends StatelessWidget {