54 lines
1.2 KiB
Dart
54 lines
1.2 KiB
Dart
![]() |
import 'package:flutter/material.dart';
|
||
|
import 'package:provider/provider.dart';
|
||
|
|
||
|
void main(){
|
||
|
runApp(const MyApp());
|
||
|
}
|
||
|
|
||
|
class MyApp extends StatelessWidget{
|
||
|
const MyApp({super.key});
|
||
|
|
||
|
@override
|
||
|
Widget build(BuildContext context){
|
||
|
return ChangeNotifierProvider(
|
||
|
create: (context) => MyAppState(),
|
||
|
child: MaterialApp(
|
||
|
title: 'First App',
|
||
|
theme: ThemeData(
|
||
|
useMaterial3: true,
|
||
|
colorScheme: ColorScheme.fromSeed(seedColor: Colors.green)
|
||
|
),
|
||
|
home: const MyHomePage(),
|
||
|
),
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class MyAppState extends ChangeNotifier{
|
||
|
var counter = 0;
|
||
|
}
|
||
|
|
||
|
class MyHomePage extends StatelessWidget{
|
||
|
const MyHomePage({super.key});
|
||
|
|
||
|
@override
|
||
|
Widget build(BuildContext context){
|
||
|
var appState = context.watch<MyAppState>();
|
||
|
var sCount = appState.counter.toString();
|
||
|
|
||
|
return Scaffold(
|
||
|
body: Center(
|
||
|
child: Column(
|
||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||
|
children: [
|
||
|
Text('count: $sCount'),
|
||
|
ElevatedButton(
|
||
|
onPressed: () => print('working'),
|
||
|
child: Text('hello')),
|
||
|
],
|
||
|
),
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
}
|