MaterialApp 是应用入口
MaterialApp 提供路由、主题、本地化、标题等应用级配置。多数 Material 风格 App 都会从 MaterialApp 开始。Scaffold 则提供页面骨架,例如 AppBar、body、drawer、bottomNavigationBar、floatingActionButton。
主题不要写散
颜色、字号、圆角、按钮风格如果散落在每个页面,后期改版会很痛苦。建议尽早使用 ThemeData 做全局管理。
MaterialApp(
title: 'Flutter Blog',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
useMaterial3: true,
inputDecorationTheme: const InputDecorationTheme(
border: OutlineInputBorder(),
),
),
home: const HomePage(),
)页面骨架示例
Scaffold(
appBar: AppBar(title: const Text('文章列表')),
body: const ArticleList(),
floatingActionButton: FloatingActionButton(
onPressed: () {},
child: const Icon(Icons.add),
),
)