状态数据与界面更新 -2

This commit is contained in:
toly
2023-04-18 12:43:39 +08:00
parent 6c72e7fb8f
commit e674423ab1
2 changed files with 28 additions and 5 deletions

View File

@@ -1,8 +1,15 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class GuessAppBar extends StatelessWidget implements PreferredSizeWidget{
const GuessAppBar({Key? key}) : super(key: key);
class GuessAppBar extends StatelessWidget implements PreferredSizeWidget {
final VoidCallback onCheck;
final TextEditingController controller;
const GuessAppBar({
Key? key,
required this.onCheck,
required this.controller,
}) : super(key: key);
@override
Widget build(BuildContext context) {
@@ -10,7 +17,6 @@ class GuessAppBar extends StatelessWidget implements PreferredSizeWidget{
systemOverlayStyle: const SystemUiOverlayStyle(
statusBarIconBrightness: Brightness.dark,
statusBarColor: Colors.transparent),
// leadingWidth: 54,
titleSpacing: 0,
leading: Icon(
Icons.menu,
@@ -19,7 +25,7 @@ class GuessAppBar extends StatelessWidget implements PreferredSizeWidget{
actions: [
IconButton(
splashRadius: 20,
onPressed: () {},
onPressed: onCheck,
icon: Icon(
Icons.run_circle_outlined,
color: Colors.blue,
@@ -28,6 +34,7 @@ class GuessAppBar extends StatelessWidget implements PreferredSizeWidget{
backgroundColor: Colors.white,
elevation: 0,
title: TextField(
controller: controller,
keyboardType: TextInputType.number,
decoration: InputDecoration(
filled: true,

View File

@@ -20,6 +20,13 @@ class _GuessPageState extends State<GuessPage> {
Random _random = Random();
bool _guessing = false;
@override
void dispose() {
_guessCtrl.dispose();
super.dispose();
}
void _generateRandomValue() {
setState(() {
_guessing = true;
@@ -28,10 +35,19 @@ class _GuessPageState extends State<GuessPage> {
});
}
TextEditingController _guessCtrl = TextEditingController();
void _onCheck(){
print("=====Check:目标数值:$_value=====${_guessCtrl.text}============");
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: GuessAppBar(),
appBar: GuessAppBar(
controller: _guessCtrl,
onCheck: _onCheck,
),
body: Stack(
children: [
// Column(