flutter3默认空白页
import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: '程序名称', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), useMaterial3: true, ), home: const MyHomePage(title: '顶部标题'), ); } } class MyHomePage extends StatefulWidget { const MyHomePage({super.key, required this.title}); final String title; @override State<MyHomePage> createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( backgroundColor: Theme.of(context).colorScheme.inversePrimary, title: Text(widget.title), ), body: SafeArea( child: Container(), ), ); } }
删除了
int _counter = 0; void _incrementCounter() { setState(() { _counter++; }); } floatingActionButton: FloatingActionButton( onPressed: _incrementCounter, tooltip: 'Increment', child: const Icon(Icons.add), ),
删除了
body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ const Text( 'You have pushed the button this many times:', ), Text( '$_counter', style: Theme.of(context).textTheme.headlineMedium, ), ], ), ),
替换为
body: SafeArea( child: Container(), ),
记录最终例子
import 'package:flutter/material.dart'; void main() { runApp(const GoWaterMyApp()); } class GoWaterMyApp extends StatelessWidget { const GoWaterMyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: '程序名称', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.lightBlue), useMaterial3: true, ), home: const MyHomePage(title: '顶部标题'), ); } } class MyHomePage extends StatefulWidget { const MyHomePage({super.key, required this.title}); final String title; @override State<MyHomePage> createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( backgroundColor: Theme.of(context).colorScheme.inversePrimary, title: Text(widget.title), ), body: SafeArea( child: Container(), ), ); } }