当前位置: 首页 > news >正文

天津企业网络建站网站评价系统源码

天津企业网络建站,网站评价系统源码,网站的标志是什么字体,广告图文制作3、 Flutter Intl 多语言国际化 在Android Studio中菜单Tools找到flutter intl创建多语言配置。 创建后会在pubspec.yaml出现 flutter_intl:enabled: true 在工程的lib会生成l10n与generated文件夹 l10n包含 intl_en.arb intl_zn.arb 我们在intl_en.arb添加 { home: home: Home, } 在intl_zn.arb添加 { home: 首页, } 注意每次修改完arb文件保存一下即可生效 三、编写代码 创建LocalModel // 共享状态 class SessionChangeNotifier with ChangeNotifier {Session get session Global.session;String? get getToken Global.session.token;overridevoid notifyListeners() {// 保存Profile变更Global.saveProfile();//通知依赖的Widget更新super.notifyListeners();} }class LocaleModel extends SessionChangeNotifier {// 获取当前用户的APP语言配置Locale类如果为null则语言跟随系统语言Locale? getLocale() {if (session.locale null) return null;var t session.locale?.split(_);LoggerManager().debug(getLocale t:${t});if (t ! null t.length 2) {LoggerManager().debug(Locale t:${t});return Locale(t[0], t[1]);}return null;}// 获取当前Locale的字符串表示String get locale session.locale ?? ;// 用户改变APP语言后通知依赖项更新新语言会立即生效set locale(String locale) {LoggerManager().debug(locale:${locale}, profile.locale:${session.locale});if (locale ! session.locale) {session.locale locale;notifyListeners();}} }在Main的入口中设置 class MyApp extends StatelessWidget {const MyApp({Key? key}) : super(key: key);// This widget is the root of your application.overrideWidget build(BuildContext context) {return MultiProvider(providers: providers,child: Consumer3ThemeModel, LocaleModel, UserModel(builder: (context, themeModel, localeModel, userModel, child) {return RefreshConfiguration(hideFooterWhenNotFull: false, //列表数据不满一页,不触发加载更多child: ScreenUtilInit(designSize: const Size(375.0, 667.0),minTextAdapt: true,splitScreenMode: true,builder: (context, child) {return child ??buildMaterialApp(context, localeModel, themeModel, userModel);},child:buildMaterialApp(context, localeModel, themeModel, userModel),),);},),);}Widget buildMaterialApp(BuildContext context, LocaleModel localeModel,ThemeModel themeModel, UserModel userModel) {return MaterialApp(theme: ThemeData(fontFamily: PingFang SC,primarySwatch: themeModel.theme,),navigatorKey: OneContext().key,debugShowCheckedModeBanner: false,supportedLocales: S.delegate.supportedLocales,locale: localeModel.getLocale(),initialRoute: buildInitialRoute(appModel: Provider.ofAppModel(context, listen: false),userModel: userModel,),onGenerateRoute: RouterManager.generateRoute,navigatorObservers: buildObservers(),localizationsDelegates: const [S.delegate,RefreshLocalizations.delegate, //下拉刷新GlobalCupertinoLocalizations.delegate,GlobalMaterialLocalizations.delegate,GlobalWidgetsLocalizations.delegate],localeResolutionCallback: (_locale, supportedLocales) {if (localeModel.getLocale() ! null) {//如果已经选定语言则不跟随系统return localeModel.getLocale();} else {//跟随系统LoggerManager().debug(_locale${_locale});Locale locale;if (supportedLocales.contains(_locale)) {locale _locale!;} else {//如果系统语言不是中文简体或美国英语则默认使用美国英语locale Locale(en, US);}return locale;}},builder: EasyLoading.init(builder: (BuildContext context, Widget? child) {return OneContext().builder(context,child,observers: buildObservers(),);}),home: buildGlobalGesture(context),);}Widget buildGlobalGesture(BuildContext context) {return GestureDetector(onTap: () {FocusScopeNode currentFocus FocusScope.of(context);if (!currentFocus.hasPrimaryFocus currentFocus.focusedChild ! null) {FocusManager.instance.primaryFocus?.unfocus();// 也可以使用如下方式隐藏键盘// SystemChannels.textInput.invokeMethod(TextInput.hide);}},);}ListNavigatorObserver buildObservers() {return [MyNavigatorObserver()];}String? buildInitialRoute({required AppModel appModel, required UserModel userModel}) {String? initialRoute;// String? isAgree localeModel.isAgree;String? isAgree 1;if (1 isAgree) {if (userModel.isLogin) {initialRoute RouterName.main;} else {initialRoute RouterName.login;}} else {initialRoute RouterName.agreement;}return initialRoute;} }之后我们可以在具体使用的地方这个配置的home。 return Scaffold(appBar: MyAppBar(label: S.of(context).home,isBackButton: false,), body:Container(),); 更换语言环境页面 class LanguagePage extends StatefulWidget {const LanguagePage({Key? key, this.arguments}) : super(key: key);final Object? arguments;overrideStateLanguagePage createState() _LanguagePageState(); }class _LanguagePageState extends StateLanguagePage {overrideWidget build(BuildContext context) {var color Theme.of(context).primaryColor;var localeModel Provider.ofLocaleModel(context);Widget _buildLanguageItem(String lan, value) {LoggerManager().debug(_buildLanguageItem${lan}, value:${value});return SettingCheckItemWidget(title: lan,content: ,checkColor: color,isSelected: localeModel.locale value,onPressed: () {// 此行代码会通知MaterialApp重新buildlocaleModel.locale value;},);}return Scaffold(appBar: MyAppBar(onPressed: () {navigatorBack();},label: S.of(context).language,isBackButton: true,),body: ListView.builder(padding: EdgeInsets.symmetric(vertical: 15.0, horizontal: 10.0),addRepaintBoundaries: false,addAutomaticKeepAlives: false,itemCount: 3,itemBuilder: (context, index) {if (index 0) {return _buildLanguageItem(中文简体, zh_CN);}if (index 1) {return _buildLanguageItem(English, en_US);}if (index 2) {return _buildLanguageItem(S.of(context).autoBySystem, null);}return Container();},),);}void userEnterApp() {// 点击进入appNavigatorPageRouter.pushReplacementNamed(RouterName.main);}void navigatorBack() {NavigatorPageRouter.pop();} }
http://www.hkea.cn/news/14584023/

相关文章:

  • apache建设多个网站北京著名的网站制作公司
  • 天河建设网站价格山东网站定制设计
  • eclipse sdk做网站移动端网站的优点
  • 建站工具模板智能小程序是什么
  • 做门户网站需要具备什么google引擎入口
  • 呼和浩特网站优化wordpress linux位置
  • 厦门网站建设模板网站服务费怎么做凭证
  • 建设一个网站要多少费用网络信息公司
  • 你做网站群好朋友的作文唯品会网站建设的目的
  • 郑州网站建设xinsu360湖州南浔建设局网站
  • 深圳做微商网站制作如何制作营销网站模板下载
  • 佛山外贸网站建设资讯怎么样自己做企业网站
  • 手机网站判断跳转网站备案号示例
  • 建设银行住房贷款网站网站api怎么做的
  • 做软装什么网站可以吗百度全网营销
  • 关于门户网站建设方案微信小程序制作平台哪个好
  • asp有哪些网站仿笑话网站源码
  • php和网站建设制作灯笼活动
  • 网站维护作用360浏览器直接进入网站
  • 万网空间官方网站网站域名在哪里看
  • 关于动物的网站建设策划书可以自己做漫画的网站
  • 南昌网站开发培训班wordpress登录 小工具
  • 上海网站建设网页制wordpress站内搜索框
  • 长沙旅游网站制作wordpress怎么屏蔽注册链接
  • 网站开发面试问题以及回答重庆企业做网站
  • 建站系统破解源码湖北网络广播电视台
  • 网站建设增城网站建设 表扬信
  • 代码高亮网站常州创新优典网站建设
  • 网站建设人文类长春火车站最新通知
  • 宝塔软件怎么做网站上海专业做网站公司