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

泊头做网站的网页设计与网站建设书籍

泊头做网站的,网页设计与网站建设书籍,怎么用word做一个网站,网站开发设计文员文章目录 1. 问题描述2. 优化方法2.1 缩小范围2.2 替代方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了如何获取AppBar的高度相关的内容#xff0c;本章回中将介绍关于MediaQuery的优化.闲话休提#xff0c;让我们一起Talk Flutter吧。 1. 问题描述 我们在… 文章目录 1. 问题描述2. 优化方法2.1 缩小范围2.2 替代方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了如何获取AppBar的高度相关的内容本章回中将介绍关于MediaQuery的优化.闲话休提让我们一起Talk Flutter吧。 1. 问题描述 我们在前面章回中介绍获取屏幕参数时使用过MediaQuery类主要通过它来获取MediaQueryData对象然后从MediaQueryData对象中获取屏幕相关的参数。比如 常用的屏幕长度和宽度不过在使用时如果遇到键盘弹出或者隐藏时会引起Scaffold进行重绘(rebuild),而且是多次重绘这种重绘显然不合理它会导致不必要的 性能开销本章回中将介绍如何优化这种不合理的重绘。 2. 优化方法 明白我们遇到的问题后我们介绍如何去解决这个问题我们提供了两种解决方法在接下来的小节中将介绍这两种方法。 2.1 缩小范围 我可以在使用MediaQuery的地方嵌套一个Build组件这样可以让重绘只发生在Build组件内部进而不影响页面中其它的组件。这种做法相当是缩小了重绘范围。 2.2 替代方法 我们还可以使用MediaQuery.sizeof()代替原来的方法不过这种办法有一定的局限性比如viewInsetOf方法就没有效果。它仍然会进行重绘。我推测它需要计算 键盘高度因此才去重绘。不过只是推测而已真实的原因还需要查看源代码后才能明白。 3. 示例代码 Widget build(BuildContext context) {// double screenWidth MediaQuery.of(context).size.width;// double screenHeight MediaQuery.of(context).size.height;///使用下面的方法代替上面的方法可以减少页面重绘double screenWidth MediaQuery.sizeOf(context).width;double screenHeight MediaQuery.sizeOf(context).height;debugPrint(build running);///键盘高度没有键盘弹出时为0// debugPrint(keyboard 1: ${MediaQuery.of(context).viewInsets.bottom});///这个方法不会减少页面重绘,可见只对sizeof有效果。// debugPrint(keyboard 1: ${MediaQuery.viewInsetsOf(context).bottom});///底部安全区域高度没有时为0// debugPrint(keyboard 2: ${MediaQuery.of(context).viewPadding.bottom});///没有实际意义// debugPrint(keyboard 3: ${MediaQuery.of(context).viewInsets.top});///顶部状态栏的高度// debugPrint(keyboard 4: ${MediaQuery.of(context).viewPadding.top});return Scaffold(appBar: AppBar(title: const Text(Example of Scaffold Overlay),),body: Stack(children: [Positioned(top: 400,left: 0,///嵌套一层builder就不会引起页面重绘child: Builder(builder: (context) {double y MediaQuery.of(context).size.height;debugPrint(build running of builder);return Text(check rebuilding value: ${y.toString()});}),),///键盘自动弹出时会导到MediaQuery进行页面重绘有两种解决方法更换接口嵌套builderconst Positioned(top: 450,left: 0,width: 300,height: 56,child: TextField(),),],),);}上面的示例代码中大量使用了MediaQuery类在页面中包含一个输入框当我们点击输入框时会自动弹出键盘此时可以看到代码中添加的日志出现在了运行结果中 这表明页面发生了生绘具体点讲就是build方法在运行而且会运行多次输入完成后点击键盘上的确认键键盘会自动隐藏此时也会发生重绘。我们使用上一小 节介绍的两种优化方法后再次在输入框中输入内容此时页面不会发生重绘。我在这里就不演示具体的运行结果了建议大家自己动手去实践。 4. 内容总结 最后我们对本章回的内容做一个全面的总结 页面中使用MediaQuery类后当键盘自动弹出和隐藏时会引起页面重绘使用Build组件来缩小重绘范围这样可以避免页面发生重绘使用MediaQuery中的其它方法可以避免重绘不过不是所有方法都有效果 看官们与关于MediaQuery的优化相关的内容就介绍到这里欢迎大家在评论区交流与讨论!
http://www.hkea.cn/news/14270272/

相关文章:

  • 宁波网站建设优化排名商城推广方案
  • 国内好的企业网站网站建设服务费怎么记账
  • 哪个网站可以免费做H5做网站公司599
  • 如何设计产品网站建设公司装修款账务处理
  • 做我韩国连续剧网站天津专业做标书
  • 智能网站开发工具免费空间浏览量
  • 响应式网站制作流程有哪些做海报好的网站
  • 网站仿做软件凤山网站seo
  • 企业网站建设方案教程建筑装饰网站模板
  • 回收类型网站如何做长春网络公司查找垚鑫科技
  • 酒店都不建网站吗物流网站制作怎么做
  • 典型的电子商务网站蚌埠网站建设公司
  • 网站开发需要的人员如何制作ppt视频教程
  • 网页设计基础只是株洲sem优化哪家好
  • 如何使用微信公众号做网站餐饮品牌设计包括哪些
  • 做网站哪个地方需要钱哈尔滨网站建设哪家好
  • 手机管理网站模板下载软件有限公司与有限责任公司的区别
  • 咸宁网站设计制作wordpress获取文章的标签
  • 广州建网站加备案口碑好的合肥网站建设
  • 做软件开发视频网站汽车案例网站
  • 自助网站建设方案门户网站开发要多少钱
  • 软件开发步骤包括哪些郑州网站建设专注乐云seo
  • 免费建设小说网站网页无法访问游戏
  • 坑梓网站建设怎么样视频背景网站
  • 徐州市城乡和城乡建设厅网站免费app制作网站
  • 搜网站旧域名一个网站有个前端后端怎么做
  • 县区工会网站建设方案绍兴免费做网站
  • 批量做网站网站站群优化
  • 软件代做网站在哪找活旅游 网站开发的项目描述
  • 做美食类网站分析海尔集团网站的网络营销是什么