Flutter-MaterialApp

2019-02-27  本文已影响2人  念_夕

MaterialApp简介

一个拥有完整application功能的widget,作为根widget管理子widget页面,包括页面pop/push栈管理,主题管理等。

使用

  Widget build(BuildContext context) {
        return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: WidgetA(),
      routes: {
        "/testPage": (BuildContext context) {
          return TestPage();
        },
      },
    );
  }

MaterialApp路由表

The [MaterialApp] configures the top-level [Navigator] to search for routes
in the following order:

番外

猜想
Flutter侧有多个 MaterialApp 构成的page,可以设置为不同的 initialRoute 通过多个不同的MaterialApp,来实现原生到Flutter侧页面push。

MaterialApp 管理不同模块路由

将业务拆分成不同模块,模块间没有关联,通过不同的MaterialApp来管理
优点:模块拆分,结构清晰,便于管理
缺点:不同模块是不同的栈,Navigator默认只会找最近的路由表,开发过程中,不注意容易出错;MaterialApp 页面默认没有返回按钮。

本地化

  import 'package:flutter_localizations/flutter_localizations.dart';
  MaterialApp(
   localizationsDelegates: [
     // ... app-specific localization delegate[s] here
     GlobalMaterialLocalizations.delegate,
     GlobalWidgetsLocalizations.delegate,
   ],
   supportedLocales: [
      const Locale('en', 'US'), // English
      const Locale('he', 'IL'), // Hebrew
      // ... other locales the app supports
    ],
    // ...
  )
上一篇下一篇

猜你喜欢

热点阅读