注意:无特殊说明,颤振版本及飞镖版本如下:
<李>颤振版本:1.12.13 +热修复补丁。李5 > <李>飞镖版本:2.7.0李>
引用>MaterialApp
在学习颤振的过程中我们第一个看见的控件应该就是MaterialApp,毕竟创建一个新的颤振项目的时候,项目第一个组件就是MaterialApp,这是一个物质风格的根控件,基本用法如下:
<前> <代码类=" lang-dart "> MaterialApp ( 家:支架( appBar: appBar ( 标题:文本(“老孟”), ), ), ) 代码><代码> 代码>参家数是应用默认显示的页面,效果如下:
标题<代码> 代码>参数是应用程序的描述,在Android上,在任务管理器的应用程序快照上面显示,在IOS上忽略此属性,IOS上任务管理器应用程序快照上面显示的是 <代码> Info.plist 代码>文件中的 <代码> CFBundleDisplayName> 代码。如果想根据区域显示不同的描述使用 <代码> onGenerateTitle> 代码,用法如下:
<前> <代码类=" lang-dart "> MaterialApp ( 标题:“老孟,> MaterialApp ( 路线:{ “容器”:(上下文)=比;ContainerDemo (), “安装”:(上下文)=比;FittedBoxDemo (), “图标”:(上下文)=比;IconDemo (), }, initialRoute: '/', 家:支架( appBar: appBar ( 标题:文本(“老孟”), ), ),> MaterialApp ( 主题:ThemeData ( primaryColor: Colors.red ), darkTheme: ThemeData ( primaryColor: Colors.red ), themeMode: ThemeMode.dark, 代码>效果如下:
<代码>语言> 代码, <代码> localizationsDelegates> 代码, <代码> localeListResolutionCallback> 代码, <代码> localeResolutionCallback> 代码, <代码> supportedLocales> 代码是区域设置和国际化相关的参数,如果应用支持多国语言,那么就需要设置这些参数,默认情况下,颤振仅支持美国英语,如果想要添加其他语言支持则需要指定其他MaterialApp属性,并引入flutter_localizations包,到2019年4月,flutter_localizations包已经支持52种语言,如果你想让你的应用在iOS上顺利运行,那么你还必须添加“flutter_cupertino_localizations”包。
在 <代码> pubspec.yaml 代码>文件中添加包依赖:
<前> <代码类=" lang-dart ">依赖性: 颤振: sdk:颤振 flutter_localizations: sdk:颤振 flutter_cupertino_localizations: ^ 1.0.1 代码>设置如下:
<前> <代码类=" lang-dart "> MaterialApp ( localizationsDelegates:( GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate ], supportedLocales:( const地区(“zh型”、“CH”), const地区(“en”,“我们”), ], … ) 代码><李> GlobalMaterialLocalizations.delegate:为材料组件库提供了本地化的字符串和其他值。李> <李> GlobalWidgetsLocalizations.delegate:定义部件默认的文本方向,从左到右或从右到左。李> <李> GlobalCupertinoLocalizations.delegate:为库比蒂诺(ios风格)库提供了本地化的字符串和其他值。李>
<代码> supportedLocales> 代码参数指定了当前应用支持的语言。
<代码> localeResolutionCallback> 代码和 <代码> localeListResolutionCallback> 代码都是对语言变化的监听,比如切换系统语言等, <代码> localeResolutionCallback> 代码和 <代码> localeListResolutionCallback> 代码的区别是 <代码> localeResolutionCallback 代码>返回的第一个参数是当前语言的语言环境,而 <代码> localeListResolutionCallback 代码>返回当前手机支持的语言集合,在早期的版本手机没有支持语言的集合,只显示当前语言,在设置→语言和地区的设置选项效果如下:
还记得第一个看到的颤振组件吗?