1
0
mirror of https://github.com/flutter/samples.git synced 2025-11-08 13:58:47 +00:00

Flutter 3.29 beta (#2571)

This commit is contained in:
Eric Windmill
2025-02-12 18:08:01 -05:00
committed by GitHub
parent d62c784789
commit 719fd72c38
685 changed files with 76244 additions and 53721 deletions

View File

@@ -20,8 +20,9 @@ class MyApp extends StatefulWidget {
}
class _MyAppState extends State<MyApp> {
final ValueNotifier<DemoScreen> _screen =
ValueNotifier<DemoScreen>(DemoScreen.counter);
final ValueNotifier<DemoScreen> _screen = ValueNotifier<DemoScreen>(
DemoScreen.counter,
);
final ValueNotifier<int> _counter = ValueNotifier<int>(0);
final ValueNotifier<String> _text = ValueNotifier<String>('');
@@ -60,8 +61,8 @@ class _MyAppState extends State<MyApp> {
}
Widget demoScreenRouter(DemoScreen which) => switch (which) {
DemoScreen.counter => CounterDemo(counter: _counter),
DemoScreen.text => TextFieldDemo(text: _text),
DemoScreen.dash => DashDemo(text: _text)
};
DemoScreen.counter => CounterDemo(counter: _counter),
DemoScreen.text => TextFieldDemo(text: _text),
DemoScreen.dash => DashDemo(text: _text),
};
}

View File

@@ -1,10 +1,7 @@
import 'package:flutter/material.dart';
class CounterDemo extends StatefulWidget {
const CounterDemo({
super.key,
required this.counter,
});
const CounterDemo({super.key, required this.counter});
final ValueNotifier<int> counter;
@@ -24,15 +21,14 @@ class _CounterDemoState extends State<CounterDemo> {
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text(
'You have pushed the button this many times:',
),
const Text('You have pushed the button this many times:'),
ValueListenableBuilder(
valueListenable: widget.counter,
builder: (context, value, child) => Text(
'$value',
style: Theme.of(context).textTheme.headlineMedium,
),
builder:
(context, value, child) => Text(
'$value',
style: Theme.of(context).textTheme.headlineMedium,
),
),
],
),

View File

@@ -21,9 +21,12 @@ class _DashDemoState extends State<DashDemo> {
super.initState();
// Initial value of the text box.
_totalCharCount = widget.text.value.length;
textController = TextEditingController.fromValue(TextEditingValue(
textController = TextEditingController.fromValue(
TextEditingValue(
text: widget.text.value,
selection: TextSelection.collapsed(offset: widget.text.value.length)));
selection: TextSelection.collapsed(offset: widget.text.value.length),
),
);
// Report changes.
textController.addListener(_onTextControllerChange);
// Listen to changes from the outside.
@@ -73,10 +76,9 @@ class _DashDemoState extends State<DashDemo> {
children: [
Text(
'COUNT WITH DASH!',
style: Theme.of(context)
.textTheme
.titleLarge!
.copyWith(color: Colors.white),
style: Theme.of(
context,
).textTheme.titleLarge!.copyWith(color: Colors.white),
),
// Bordered dash avatar
Padding(
@@ -101,10 +103,9 @@ class _DashDemoState extends State<DashDemo> {
),
Text(
'$_totalCharCount',
style: Theme.of(context)
.textTheme
.displayLarge!
.copyWith(color: Colors.white),
style: Theme.of(
context,
).textTheme.displayLarge!.copyWith(color: Colors.white),
),
],
),

View File

@@ -15,9 +15,12 @@ class _TextFieldDemoState extends State<TextFieldDemo> {
void initState() {
super.initState();
// Initial value of the text box.
textController = TextEditingController.fromValue(TextEditingValue(
textController = TextEditingController.fromValue(
TextEditingValue(
text: widget.text.value,
selection: TextSelection.collapsed(offset: widget.text.value.length)));
selection: TextSelection.collapsed(offset: widget.text.value.length),
),
);
// Report changes.
textController.addListener(_onTextControllerChange);
// Listen to changes from the outside.

View File

@@ -25,9 +25,9 @@ class DemoAppStateManager {
required ValueNotifier<DemoScreen> screen,
required ValueNotifier<int> counter,
required ValueNotifier<String> text,
}) : _counter = counter,
_text = text,
_screen = screen;
}) : _counter = counter,
_text = text,
_screen = screen;
final ValueNotifier<DemoScreen> _screen;
final ValueNotifier<int> _counter;

View File

@@ -4,7 +4,7 @@ publish_to: none
version: 1.0.0
environment:
sdk: ^3.5.0
sdk: ^3.7.0-0
flutter: ">=3.22.0"
dependencies: