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

如何查看网站的关键词杭州模板建站

如何查看网站的关键词,杭州模板建站,泰安九五兴昇网络科技,房产网站 设计方案鉴于Flutter高性能渲染和跨平台的优势#xff0c;闪点清单在移动端APP上#xff0c;使用了完整的Flutter框架来开发。既然是完整APP#xff0c;架构搭建完全不受历史Native APP的影响#xff0c;没有历史包袱的沉淀#xff0c;设计也能更灵活和健壮。国际化语言的支持闪点清单在移动端APP上使用了完整的Flutter框架来开发。既然是完整APP架构搭建完全不受历史Native APP的影响没有历史包袱的沉淀设计也能更灵活和健壮。国际化语言的支持是很多APP都有的一个强需求APP无论大小只要还不想放弃国外的客户一般就需要支持国际化。官方支持Flutter官方方案提供了国际化的基础支持如Flutter内置组件的国际化、语言代理、Widget使用语言包、语言设置回调等并支持自定义第三方类来扩展可以参考Flutter国际化文档。官方支持代码示例class DemoLocalizations { DemoLocalizations(this.locale); final Locale locale; static DemoLocalizations of(BuildContext context) { return Localizations.of(context, DemoLocalizations); } static MapString, MapString, String _localizedValues { en: { title: Hello World, }, es: { title: Hola Mundo, }, }; String get title { return _localizedValues[locale.languageCode][title]; }}官方方案的缺陷官方的支持有几个缺陷依赖于BuildContext对象在非Widget中调用时需要层层传递BuildContext对象或存储全局BuildContext对象。在MaterialApp初始化前无法使用国际化(原因也是依赖于BuildContext对象)。语言包定义推荐使用Map方式无法利用静态语言的优势(语法提示、错误检查等)而为语言包每个属性自定义类和类字段成本较高、使用和更新灵活性差。i18n介绍鉴于Flutter官方支持的缺陷我们调研了很多第三方库最终发现了i18n并在此基础上、结合Flutter官方支持和自身封装实现了更灵活易用的方案。基础使用i18n使用yaml格式来定义语言包同时提供构建脚本一键生成Dart语言包Class。如下lib/messages.i18n.yamlbutton: save: Save load: Loadusers: welcome(String name): Hello $name! logout: Logout该配置会生成几个ClassMessages、ButtonMessages、UserMessages生成后的Dart文件使用方式如下:Messages m Messages();debugPrint(m.users.logout);debugPrint(m.users.welcome(World));生成的Dart文件预览(开发时无需关心):class Messages { const Messages(); ButtonMessages get button ButtonExampleMessages(this); UsersMessages get users UsersExampleMessages(this);}class ButtonMessages { final Messages _parent; const ButtonMessages(this._parent); String get save Save; String get load Load;}class UsersMessages { final Messages _parent; const UsersMessages(this._parent); String get logout Logout; String welcome(String name) Hello $name!;}进阶功能下面讲解一些进阶用法。函数定义i18n支持函数定义并支持传参如上述的welcome函数:debugPrint(m.users.welcome(World));参数定义基本没有限制可以随意定义参数个数和类型。内置函数i18n支持了一些内置函数用于做不同语言解析的体验优化如plural、cardinal、ordinal。具体规则和使用可以参考这里http://cldr.unicode.org/index/cldr-spec/plural-rules。使用Dart字符串模板Dart字符串模板是非常强大的而在i18n中你可以使用字符串模板(这点非常赞)如count(int cnt): You have created $cnt ${_plural(cnt, one:invoice, many:invoices)}.前置编译i18n依然依赖了Dart官方提供的builder_runner工具来从yaml文件生成Dart文件使用方式: flutter pub run build_runner build。语言包使用前置编译后每个语言包会生成N个Class(语言包的每一个分类或组合会生成一个Class文件)然后会生成一个根Class我们可以直接使用根Class(当然也可以使用任何一个分类层级的Class)。比如两个语言包文件: AppMessages.i18n.yaml和AppMessages_en.i18n.yaml(未加语言后缀的会认为是默认语言包因此AppMessages.i18n.yaml是默认语言包)会生成2个根Dart Class: class AppMessages和class AppMessages_en extends AppMessages。AppMessages_en自动继承自AppMessages因此我们可以直接使用AppMessages类型来存储语言包并在语言切换时重新为其实例化对应的子类AppMessages appMessages new AppMessages();resetLocalLang(String localeName) { switch (localeName) { case en: appMessages AppMessages_en(); break; case zh: default: appMessages AppMessages(); break; }}然后你可以在任意地方使用语言包debugPrint(Load Button: ${appMessages.button.load});FlatButton( child: Text(appMessages.button.save), onPressed: () { /// 干点什么 },)Flutter集成集成到Flutter依然要依赖于官方的支持在MaterialApp中设置和监听本地语言包结尾国际化支持是一个移动端APP框架层的基础能力设计原则应该是使用无感知、灵活易扩展但维护成本是难免有增加的比如每次改文案要所有语言包同时更改。讲到这里还并没有完成基础框架的搭建后面我们会讲解更多的Flutter架构设计内容比如通知、分享、UI设计等等。持续分享闪点清单在Flutter上的开发经验闪点清单一款悬浮清单软件End关注“闪点君”随时与我们交流
http://www.zqtcl.cn/news/994787/

相关文章:

  • 武威市建设厅网站汕头seo外包公司
  • 酒泉网站怎么做seo东莞高明网站设计
  • 沧州网站建设联系电话杭州设计公司logo
  • 网站子站点是什么意思亚马逊国际站官网
  • 影视cms哪个好苏州关键词优化搜索排名
  • 杭州微信网站开发网站优化公司免费咨询
  • 宣武富阳网站建设南昌公众号开发公司
  • 免费的网站推荐下载wordpress %s
  • 网站的原理百度旧版本下载
  • 衡水网站建设地方新网域名证书下载
  • 自己做的创意的网站什么是淘宝seo
  • 网站开发包含哪些网站设计实例
  • 网站建设 核算棋牌源码论坛
  • 杭州网站建设案例网页设计程序
  • 网站建设的相关问题湛江网站开发
  • 网站开发作业wordpress用户角色
  • 品牌网站制作建设微信小程序开发需要什么技术
  • 新网站注册国内食品行业网站开发
  • 太原微商网站建设网站里面的视频功能怎么做的
  • 绿色做环保网站的好处网易企业邮箱登录登录入口
  • 卯兔科技网站建设网站验收时项目建设总结报告
  • 触摸网站手机wordpress建立模板下载
  • 做暧在线观看网站网站建设与管理工资
  • 横岗网站建设无锡网站seo外包
  • 房管局 网站做房查学做网站推广要多久时间
  • 电脑网站开发者模式田园综合体建设网站
  • 南宁广告公司网站建设自适应网站建设模板
  • 做北京电梯招标的网站衡阳县专业做淘宝网站
  • 建设网站的语言wordpress主题自定义添加后台设置
  • 制造动漫网站开发目的四川酒店网站建设