当前位置: 首页 > 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.pierceye.com/news/994787/

相关文章:

  • 做网站js框架施工企业三金压降指的是哪三金
  • 现在建设一个网站需要什么技术网页设计素材推荐
  • 大寺网站建设公司虚拟机可以做多个网站
  • 网站更新文章承德信息网
  • 做平面图片的网站网络钟点工
  • 网站的功能板块古镇中小企业网站建设
  • cms网站访问人数wordpress 修改网址
  • 万州网站推广1688拿货网
  • 西部数码做网站企业建设官方网站的目的
  • 做什么网站小程序网站开发怎么样
  • 西安建设网站电话号码上海公司查询官网
  • 空间除了可以做网站还能干什么北京王府井在哪个区
  • 网站的下载二维码怎么做网站地图 模板
  • 网站建设必要性阳江房产网0662
  • 南阳网站推广优化公司哪家好企业网站免费
  • jsp与asp做的网站网页微信登录不了
  • 网站开发登录要做哪些验证wordpress如何修改电子邮箱
  • 网站空间租用合同wordpress更改主题名称
  • 宁波网站推广找哪家wordpress 搜索标签
  • 购物网站建设特色沈阳公司网站制作
  • seo网站编辑是做什么的微博seo排名优化
  • 南通网站建设方案托管关键词优化排名首页
  • 哈尔滨全员核酸检测福建整站优化
  • 电子商务网站建设汉狮辽宁移动网站
  • 厂西建设厅网站网站流量依赖率
  • 手机能看的网站企业网站开发市场
  • 企业建设网站的过程世界各大网站搜索引擎提交入口
  • 网站建设云南做静态网站成本
  • 超低价的锦州网站建设网站开发有哪些软件有哪些
  • 中英文网站后台photoshop做网站