Administrator
Administrator
Published on 2025-06-08 / 13 Visits
0
0

开始写应用

修改应用图标

flutter pub add flutter_launcher_icons

dart run flutter_launcher_icons:generate #在项目根目录中运行,生成默认配置模版flutter_launcher_icons.yaml

#修改其中的image_path,再运行

flutter pub get
dart run flutter_launcher_icons

修改版本号、应用名称、标题

版本号:

位于项目根目录下pubspec.yaml,version属性

1.0.0+1,1.0.0是版本号,+1是构建号

应用名称:

android/app/src/main/AndroidManifest.xml,修改android:label,默认为flutter的项目名

标题:

任务管理中的标题在MaterialApp根元素的title属性中设置,应用顶部标题由Scaffold元素的title控制

入口文件

lib/main.dart入口文件中的runApp的参数应为MaterialApp或CupertinoApp(ios风格)元素。每个页面的根组件应为Scaffold,顶栏、tabbar、浮动按纽都在其中定义。

//lib/main.dart


void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      
      initialRoute: '/', //初始路由,
      routes: {
        '/': (BuildContext context) => const MyHomePage(title: 'Flutter Demo Home Page'), //初始路由名称必须是"/"
        '/page1': (BuildContext context) => const Page1()
      },
    );
  }
}
class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return const Scaffold();
  }
}

class Page1 extends StatefulWidget {
  const Page1({super.key});

  @override
  State<Page1> createState() => _Page1State();
}

class _Page1State extends State<Page1> {
  @override
  Widget build(BuildContext context) {
    return const Scaffold();
  }
}

MaterialApp、Scaffold的参数详解

  • MaterialApp如果有home元素,则routes中不要存在"/"路由,否则报错。home对应的页面路由名称为"/"

  • tab页面之间切换时会卸载之前的页面

  • 通过push弹出新页面时旧的页面不会卸载


Comment